如何在未知的父作用域上监视对象
How to watch object on unknown scope parent?
我正在编写一个可以在其他指令中使用的元素指令。包含directive元素的父元素的结构是未知的。
我的指令需要观察一个名为'modelState'的对象,它位于父作用域树的某个地方。然而,我不能告诉哪个家长,这就是为什么scope.$watch("$parent.modelState", ...);
现在将在任何时候工作。
我如何创建这个手表,而不知道我需要的父节点是谁?
在指令代码中创建隔离作用域
yourAngularModule.directive('yourDirective', function() {
return {
restrict : 'E',
scope : {
yourModelState : '='
},
link : function(scope) {
scope.$watch('yourModelState', function (){
//do something
}
}
};
});
然后在你的HTML中使用指令
<your-directive your-model-state="$parent.modelState"><your-directive>
这样你的指令只关心scope.yourModelState
相关文章:
- 监视函数从服务返回不起作用,但作用域函数起作用
- 将作用域存储在JSON中
- 从控制器继承了隔离的作用域以生成可重用的指令
- 从ng模板访问作用域
- 调用私有作用域
- 对父作用域的指令更新延迟了一步
- 正在$rootScope上达到控制器作用域$在内部控制器上
- 两个指令创建新的继承的和隔离的作用域-元素得到哪个
- 这两个关于 JavaScript 作用域链的例子有什么区别?
- 在具有命名作用域的自定义Polymer元素中隐藏表行
- 从指令链接函数监视控制器作用域
- 监视自定义指令属性在父作用域更改时不发生更改
- 从指令更新作用域,并使用另一个指令进行监视
- 监视包含特殊字符作为关键字的作用域对象
- 如何在未知的父作用域上监视对象
- 合并多个Angular作用域监视语句
- 将作用域对象传递给可以监视和更新它的服务
- AngularJS -监视指令控制器的作用域
- 当作用域被销毁时,是否需要注销作用域监视
- 有没有一种方法可以使用anagular来监视不在作用域中而是在服务中的一组变量?