Angularjs 指令=或=属性非双向

Angularjs 指令=或=属性非双向,angularjs,angularjs-directive,Angularjs,Angularjs Directive,=或=attr-在本地作用域之间设置双向绑定 属性和通过值定义的名称的父范围属性 属性的属性。。。对parentModel的任何更改都将被删除 反映在localModel中,localModel中的任何更改都将反映在 父模型 这是Angular文档中的内容,我读过几篇文章说,在使用指令创建隔离作用域时,不会得到双向绑定。我觉得很难理解。我想创建一个小部件,传递状态,但我也希望能够将该状态绑定到父范围中的其他指令 根据我的实验,您无法更改指令中的作用域,也无法在其父控制器/其他指令中进行更改。这是

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

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


根据我的实验,您无法更改指令中的作用域,也无法在其父控制器/其他指令中进行更改。这是正确的吗?

是和否angular中的隔离作用域(例如,您在指令中添加了一个作用域:{}),它只是一个在原型继承链中没有链接的单独作用域。这意味着默认情况下,您对指令中的范围所做的更改不会反映回该指令的父元素的范围

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