在我的控制器中,我想在變量值發生變化時收到通知。我的要求是當一個變量的值將改變一個函數將被調用。所以我使用$ watch。我的代碼如下。
var Canvas = angular.module('canvas');
Canvas.controller("excelOperation",function($scope,Data,SharedData,$http){
$scope.tbody=$scope.$parent.shared.previews;
$scope.$watch('$parent.shared.previews',function(newVal,oldVal){
console.log("WORKING");
})
setInterval(function(){
console.log($scope.$parent.shared.previews);
},1000)
/**
* Populate table function to populate excel table
*/
$scope.populateTable=function()
{
}
})
angular.bootstrap(document.getElementById(「page」),['canvas']);
但問題是$ watch只在刷新我的頁面時才起作用。雖然setInterval正在打印變量$ watch的更改值未被調用。
N.B. $ scope。$ parent.shared.previews是一個對象
我在做什麼錯? 而我告訴的是,這是一個好方法嗎?
您應該使用$ parent.shared.previews而不是$ scope。$ parent.shared.previews。在這兩個地方在手錶和設置的區域 –
仍然不工作:( –
你可以摧毀你的完整代碼 –