[英]Angular $watch not triggering
我們有一個控制器和一個指令。 在控制器的$ scope中,有一個包含一些對象的modules
數組。
$scope.modules = [
{title: 'demo'},
{title: 'demo 2'},
{title: 'demo 3'},
];
我正在創建這樣的指令:
var popup = angular.element('<module-popup module="module"></module-popup>');
$compile(popup)($scope);
監聽控制器的$ scope更改:
$scope.$watch('title', function() {
console.log('Controller changed');
}, true);
頁面加載后,我在控制台中看到: Controller changed
但是,當我嘗試手動更改這些值時-在控制台中,沒有記錄但在屏幕上卻看到正確的值。
<h2>{{ module.title }}</h2>
$scope.$apply()
引發錯誤
我究竟做錯了什么? 謝謝
您正在觀看標題,但不在您的范圍內,您嘗試觀看的范圍是modules.title或僅僅是modules
$scope.$watch('modules', function() {
console.log('Controller changed');
}, true);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.