在我的angularjs指令中,我使用以下代码来检测this和execute函数的变化,如下所示
$scope.$watch(angular.bind(this, function () {
return this.dat;
}), function (newVal) {
})
并且在我的主控制器中,我按如下方式调用指令
<line dat=ctrl.testdata></line>
在我的主控制器中,我已经定义了ctrl.testdata,如下所示
self.testdata = {};
self.testdata.dat = [ {'sdfds':'bbbb','sdfsd','lll'}]
self.testdata.k = {
"c": ["0y", "w6"],
"rs": ["n", "i"]
}
当testdata.dat正在改变时,newVal正在改变,但是当testdata.k正在改变时,它将不会改变我如何提前感谢。
答案 0 :(得分:0)
默认情况下,只检查对象相等 - 当您编辑它的道具时,您的测试数据相同;您可以使用另一个绑定,记住这一点,或使用深度相等(性能不佳);
$scope.$watch(angular.bind(this, function () {
return this.dat;
}), function (newVal) {
}, true)