$scope.$apply
больше не будет частью Angular 2. Тогда как мы можем сообщить Angular для обновления DOM, если какой-либо из связанных свойств был изменен вне обычного контекста выполнения Angular?
Взято из сообщение в блоге Минько Гечева:
Больше $scope. $apply
Но как тогда AngularJS знает, что что-то вне его контекста исполнения заняло место? Давайте подумаем, где могут произойти изменения:
- SetTimeout
- setInterval
- подскажите (да, есть люди, которые все еще используют его...)
- XMLHttpRequest
WebSockets
...
Для чего ответ:
Я понимаю, что исправление встроенных функций javascript в браузере для уведомления о любых изменениях в Angular - это то, что можно сделать относительно безопасным образом (без ввода тонких ошибок) и было бы очень удобно для разработчика. Но как насчет сторонних API (например, jQuery.fadeIn
) или если браузер предоставляет новый асинхронный API, который не распространяется? Что заменит старый $scope.$apply
?