gpt4 book ai didi

javascript - 指令回调函数未从 $watch 内部触发

转载 作者:行者123 更新时间:2023-12-03 08:00:17 24 4
gpt4 key购买 nike

我创建了一个 Angular Directive(指令),它接收回调函数作为属性。

<my-dir ng-model="foo.bar" on-change="func(data)"></my-dir>

在指令的定义中,我按如下方式分配此属性

scope: {onChange: '&onChange'}

现在,在我的链接函数中,如果我调用 scope.onChange({data: 23}); 一切正常。但如果我在 $watch 函数中进行相同的调用,它就会失败。

scope.$watch("stepId", function(newValue, oldValue) {
scope.onChange({data: 23}); //why it does NOT work ????
})

最佳答案

也许您应该查看函数返回值,而不是查看“stepId”。

    scope.$watch( function(){ return scope.stepId; }, function( newValue, oldValue){
if( typeof newValue == 'undefined' )
return;

scope.onChange( {data: scope.stepId});
});

你最好做一个jsfiddle。

关于javascript - 指令回调函数未从 $watch 内部触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34613939/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com