指令回调函数未从$watch内部启动
directive callback function not firing from inside $watch
我创建了一个角度指令,该指令将回调函数作为属性接收。
<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});
});
你最好做个小提琴。
在应用程序或指令的范围内声明stepId,否则$watch将不会监听您的变量
相关文章:
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 调用函数内部的函数
- 如何使用js将SNAPSHOT内部版本号转换为3位数的整数
- 在phonegap应用程序内部重定向不起作用
- 使用此选项选择父类内部的类
- 访问JSON对象内部的数组元素
- 从模块内部访问Express装载路径
- AngularJs指令,该指令创建内部有数据对象的新指令
- 如何使用内部对象构造对象
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- Angularjs$watch内部使用Closure
- $scope变量未定义,尽管它是在$watch函数内部设置的
- $watch使用隔离范围时从角度指令内部更改值
- AngularJS - $watch内部的初始化,取决于两个模型
- $watch 不会在 Angularjs 中调用内部选项卡
- AngularJS暂停$watch以进行内部更新
- 指令回调函数未从$watch内部启动
- 带控制器的指令内部的Angular watch
- $watch-ngModel来自使用隔离作用域的指令内部
- AngularJS 1.5:scope.$watch 内部链接函数不会在模型更改时更新