在我的控制器中,我想在变量值发生变化时收到通知。我的要求是当一个变量的值将改变一个函数将被调用。所以我使用$ 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。在这两个地方在手表和设置的区域 –
仍然不工作:( –
你可以摧毁你的完整代码 –