我见过开发人员使用'=?'在指令的角度范围内。有人可以解释一下它的用法。
答案 0 :(得分:2)
=
或=attr
- 在本地范围属性和通过attr
属性的值定义的name的父范围属性之间设置双向绑定。如果未指定attr
名称,则假定属性名称与本地名称相同。给定<widget my-attr="parentModel">
和scope: { localModel:'=myAttr' }
的窗口小部件定义,窗口小部件范围属性localModel
将反映父范围上parentModel
的值。对parentModel
的任何更改都将反映在localModel
中,localModel
中的所有更改都会反映在parentModel
中。如果父作用域属性不存在,则会抛出 NON_ASSIGNABLE_MODEL_EXPRESSION 异常。您可以使用=?
或=?attr
来避免此行为,以便将该属性标记为可选。如果您想要了解更改(例如$ watchCollection而不是$ watch),您可以使用=*
或=*attr
(=*?
或=*?attr
(如果属性是可选的)。
Source (CTRL + F,&#34; =?&#34;)