【问题标题】:Directive = or =attr not bi-directional指令 = 或 =attr 不是双向的
【发布时间】:2013-05-30 15:52:50
【问题描述】:

= 或 =attr - 在本地范围之间设置双向绑定 属性和通过值定义的名称的父范围属性 attr 属性。 ...对 parentModel 的任何更改都将是 反映在 localModel 中,并且 localModel 中的任何更改都将反映在 父模型。

这是来自 Angular 文档,我读过一些帖子说在使用指令创建隔离作用域时,您不会获得双向绑定。我觉得很难理解。我想创建一个小部件,传入状态,但我也希望能够将该状态绑定到父范围内的其他指令。

从我的实验中,您无法更改指令中的范围并在其父控制器/其他指令中获取更改。这是正确的吗?

【问题讨论】:

    标签: angularjs angularjs-directive


    【解决方案1】:

    是的,也不是 Angular 中的隔离范围(例如,您在指令中添加了范围:{})就是这样,一个未链接到原型继承链中的单独范围。这意味着默认情况下,您对指令范围所做的更改不会反映回该指令的父元素范围。

    作用域创建中的“=”局部变量类型设置了与父作用域的可见绑定。然后对隔离范围变量的更改将被反映回来。确保您的更改被指令中的 locals 范围识别,否则不会传播任何内容(例如,尝试监视/$watch locals 变量以确保指令中发生更改,如果没有,您可能需要 $apply 取决于如何你已经在你的指令中绑定了)。

    【讨论】:

      猜你喜欢
      • 2015-09-27
      • 2015-03-07
      • 1970-01-01
      • 1970-01-01
      • 2018-04-22
      • 1970-01-01
      • 1970-01-01
      • 2013-03-31
      • 1970-01-01
      相关资源
      最近更新 更多