angularjs – 为什么ng-hide不适用于自定义指令?

前端之家收集整理的这篇文章主要介绍了angularjs – 为什么ng-hide不适用于自定义指令?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在阅读关于 angularjs.org的开发人员指南的指令部分,以刷新我的知识并获得一些见解,并且我正在尝试运行其中一个示例,但是该指令ng-hide不适用于自定义指令.

这里的jsfiddle:http://jsfiddle.net/D3Nsk/

<my-dialog ng-hide="dialogIsHidden" on-close="hideDialog()">
  Does Not Work Here!!!
</my-dialog>
<div ng-hide="dialogIsHidden">
       It works Here.
</div>

任何关于为什么会发生这样的想法?

似乎标签上的变量dialogIsHidden似乎已经被引用了
到指令中的范围变量,而不是控制器中的变量;特定
该指令具有自己的封闭范围,使这项工作成为必要的通过
通过引用将控件的变量dialogIsHidden引用到指令.

这里的jsfiddle:
http://jsfiddle.net/h7xvA/

变化在:

<my-dialog 
     ng-hide="dialogIsHidden" 
     on-close="hideDialog()" dialog-is-hidden='dialogIsHidden'>

和:

scope: {
    'close': '&onClose','dialogIsHidden': '='
  },
在将对象指定到范围时,您将在指令内创建一个孤立的范围.这就是为什么$scope.dialogIsHidden不会传递给指令,因此元素不被隐藏.

Kain的建议调整使用$parent说明了这一点.

原文链接:https://www.f2er.com/angularjs/140427.html

猜你在找的Angularjs相关文章