簡體   English   中英

角$ watch不觸發

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM