我是 Angular JS 的新手,一直在到处寻找为什么这不起作用的答案。
我在这里有我的指令:
.directive('carrouselPreview', function () {
return function (scope, element, attrs) {
scope.$watch(scope.carouselPreview, function () {
alert('changed');
}, true);
}
});
这会监视对scope.carouselPreview的更改,它是通过以下函数更改的:
$scope.showPreview = function(ind){
$scope.carouselPreview = ind;
}
这个函数肯定会触发并更改scope.carouselPreview - 但监视函数永远不会触发!
我意识到我在这里可能很愚蠢,但我已经查看了所有内容,看起来完全没问题。
如果今晚有人帮我解决这个问题,我会永远爱你!
第一个参数传入$watch
是一个字符串(在范围的上下文中计算)或一个函数。所以你想要的是:
scope.$watch("carouselPreview", function () {
alert('changed');
}, true);
See http://docs.angularjs.org/api/ng.$rootScope.Scope#$watch http://docs.angularjs.org/api/ng.%24rootScope.Scope#%24watch
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)