当前位置: 首页 > 面试题库 >

为什么ng-hide无法与自定义指令一起使用?

洪弘毅
2023-03-14
问题内容

我正在阅读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调整小提琴,这说明了这一点。



 类似资料:
  • 问题内容: 我有一个锚标记,ng-disabled指令根本不起作用。 它可以在按钮上工作,但是一旦我将Bootstrap的btn类添加到锚标记中,Angular的ng-disabled就可以正常工作了! 这如何运作? 问题答案: 仅适用于响应该属性的元素(输入,文本区域,单选按钮,按钮标签等)。在Bootstrap中,您必须将“ disabled”类添加到btn元素中。看起来像这样: 为此,请在指

  • 问题内容: 我有一个带有模板的指令 我的指令声明为: 我想在单击某个项目并且其值已经更改时调用。 也就是说,如果我的指令实现为: 我希望在的值已更新时致电。 使用上面给出的代码,可以成功调用,但是将使用旧值而不是新的更新值来调用它。 解决该问题的一种方法是在超时值内部调用超时,以在将来某个时刻执行该超时。但是这种解决方案使我无法控制应该执行的顺序,并且我认为应该有一个更优雅的解决方案。 我也可以在

  • 本文向大家介绍AngularJS使用自定义指令替代ng-repeat的方法,包括了AngularJS使用自定义指令替代ng-repeat的方法的使用技巧和注意事项,需要的朋友参考一下 前言 大家都知道对于处理小数量,ng-repeat是非常有用的,但是如果需要处理非常大的数量集,还是采用自定义的方法更好一些。特别是数据大多都是静态的或已预存储好的,这个时候应避免使用ng-repeat指令。 ng-

  • 我目前刚开始使用Python中的Apache Beam和Dataflow Runner。我对创建一个发布到Google Cloud PubSub的批处理管道感兴趣,我对Beam Python API进行了修补,并找到了一个解决方案。然而,在我的探索中,我遇到了一些有趣的问题,让我好奇。 在这里,我试图使发布服务器共享accross。我尝试了以下方法。 a.在DoFn中初始化publisher b.

  • 问题内容: 由于某种原因,初始化值不会出现在字段中,但是没有ng-pattern的第二个字段确实起作用。有任何想法吗? 这是小提琴 http://jsfiddle.net/wkzab/1/ 问题答案: 更新 我仔细研究了一下(从未真正使用过Angular),并且通过使用表单和输入上的属性,您可以捕获一个错误,如我最新的JSFiddle所示。其格式为:。这将返回参数等于布尔值的对象。所以会在有正则表

  • 问题内容: 我无法让spring-data-elasticsearch适用于Elasticsearch 2.0+版本。 关于使用以下POM 并添加自定义的ElasticsearchConfiguration 在 Application.java* 下面 * 在有效的POM中,我仍然收到elasticsearch 1.5.2(以及附加的2.0.1.RELEASE版本)作为依赖项。 在运行应用程序时收