问号在Angular隔离范围绑定中做了什么?

时间:2015-04-14 23:09:46

标签: angularjs angularjs-directive angularjs-scope

我已阅读了大量文章,解释了@=&之间的区别。我见过很多人在代码中使用=?。这是什么意思?

不幸的是,我似乎无法在Google或SO上搜索答案,因为搜索引擎会忽略特殊字符。

1 个答案:

答案 0 :(得分:20)

?使该属性可选。否则,您将获得NON_ASSIGNABLE_MODEL_EXPRESSION,其中Angular正在寻找一个不存在的属性。

来自文档:

  

如果父作用域属性不存在,则会抛出NON_ASSIGNABLE_MODEL_EXPRESSION异常。你可以使用=?避免这种行为?或=?attr以便将属性标记为可选。

https://docs.angularjs.org/api/ng/service/ $编译#-scope -