繁体   English   中英

指令中的$ watch函数未在Angular JS中触发

[英]$watch function in directive not getting triggered in 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函数永远不会触发!

我意识到我可能在这里愚蠢,但我看了一遍,看起来很好。

如果今晚有人帮我解决这个问题,我会永远爱你!

$watch的第一个参数是字符串(在范围的上下文中计算)或函数。 所以你想要的是:

scope.$watch("carouselPreview", function () {
    alert('changed');
}, true);

http://docs.angularjs.org/api/ng.$ro​​otScope.Scope#$watch

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM