【发布时间】:2012-12-14 12:48:12
【问题描述】:
在声明指令的范围时,我遇到了符号“@”、“=”。
我很好奇什么时候会出现 '=' 绑定优于 '@' 的情况,反之亦然。
【问题讨论】:
标签: javascript angularjs
在声明指令的范围时,我遇到了符号“@”、“=”。
我很好奇什么时候会出现 '=' 绑定优于 '@' 的情况,反之亦然。
【问题讨论】:
标签: javascript angularjs
从official documentation,您可以阅读:
@ 或 @attr - 将本地范围属性绑定到 DOM 属性的值。结果总是一个字符串,因为 DOM 属性是 字符串。如果未指定 attr 名称,则属性名称为 假定与本地名称相同。范围的给定和小部件定义:{ localName:'@myAttr'}, 然后小部件范围属性 localName 将反映插值 你好 {{name}} 的值。随着名称属性的变化, 小部件范围上的 localName 属性。该名称是从 父范围(不是组件范围)。
= 或 =attr - 在本地范围属性和通过值定义的名称的父范围属性之间设置双向绑定 attr 属性。如果未指定 attr 名称,则属性 假定名称与本地名称相同。范围的给定和小部件定义:{ localModel:'=myAttr' },然后小部件范围属性 localModel 将 在父作用域上反映 parentModel 的值。任何更改 parentModel 将反映在 localModel 和任何更改 localModel 将反映在 parentModel 中。
所以如果你想要一个 2-way 绑定,你应该使用=...
【讨论】: