微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

angularjs – 如何在具有孤立范围的指令上使用ng-show

我有一个指令,我使用这样:
<dir model="data"></dir>

该指令具有孤立的范围。

scope :{
  model:'='
}

现在我试图在该指令上使用ng-show,使用我的页面的$范围的另一个属性,如下所示:

<dir ng-show="show" model="data"></dir>

但是它不起作用,因为该伪指令试图在其范围内找到show属性

我不希望该指令知道它的容器可能会选择隐藏它的事实。

我发现的解决方法是将指令包含在< div>并在该元素上应用ng-show,但是我不喜欢这个强制我使用的额外元素:

<div ng-show="show" >
  <dir model="data"></dir>    
</div>

有更好的做法吗?

看这个坑:http://plnkr.co/edit/Q3MkWfl5mHssUeh3zXiR?p=preview

您可以考虑迁移到1.2或更高版本。 The isolate scope is now only exposed to directives with a scope property.这意味着,ng-show不再受您的指令的影响,您可以像您试图首先写的那样写:
<dir ng-show="show" model="data"></dir>

@角度开发者:伟大的工作,伙计们!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐