A quick and
very dirty solution is to observe '$scope.dt' for changes:
$scope.$watch('dt', function(n, o) {
if (n !== o) {
angular.forEach($scope.dt, function(job, jobKey) {
angular.forEach(job, function(jobData, jobDataKey) {
if (jobDataKey == 'Job') {
angular.forEach(jobData, function(val, valKey) {
angular.forEach(val, function(v, k) {
if (k == 'StartDate') {
var formattedDate = dateFilter(v, 'MM/dd/yy');
$scope.dt[jobKey].Job[valKey].StartDate = formattedDate;
}
if (k == 'EndDate') {
var formattedDate = dateFilter(v, 'MM/dd/yy');
$scope.dt[jobKey].Job[valKey].EndDate = formattedDate;
}
if (!$scope.$$phase) {
$scope.$apply();
}
});
});
}
});
});
}
}, true);
A more elegant solution would be to write a 'on-change' directive or find one online.