Вот часть кода в контроллере:
$scope.$watch('date', function (newDate, oldDate) {
...
});
...
window.addEventListener('updateDate', updateDate);
function updateDate(date) {
$scope.date=date;
}
Представление шаблона пустое, поэтому нет привязок. updateDate
- это пользовательское событие, отправляемое из другого приложения, которое сосуществует с AngularJS в том же объекте window
. У меня проблема в том, что между выполнением $scope.date=date
и обратным вызовом $ scope. $ Watch есть задержка. Однако это не тот случай, когда первый раз отправляется updateDate; без задержки! После этого первого раза я получил эту задержку.
Более того, если применить привязку в шаблоне и попытаться обновить оттуда $scope.date
, все работает нормально.
Наконец, заменив $scope.date
с телом обратного вызова $ scope. $ Watch, все снова работает нормально. Тем не менее, правильное решение - обновить $scope.date
...
- Есть ли какое-либо объяснение вышеуказанному поведению?
- Есть ли какое-нибудь решение?