在表达式内部嵌入插值标记
注意:AngularJS指令属性采用表达式或带有嵌入式表达式的插值标记。将插值标记嵌入表达式中被认为是不好的做法:
— AngularJS开发人员指南-插值
我正在寻找一个写得很好的规范答案,可以为读者指出。
#1 楼
来自文档:为什么混合插值和表达式是不好的做法:
它增加了标记的复杂性
由于插值本身是一个指令,因此无法保证它适用于每个指令。如果另一个指令在插值运行之前访问属性数据,它将获得原始插值标记而不是数据。
它会影响性能,因为插值会在范围内添加另一个观察者。 >
AngularJS开发人员指南-插值
#2 楼
期望布尔值的指令将不起作用:ERRONEOUS
<input type="checkbox" ng-hide ="{{x.thenumber === null}}" />
当表达式的计算结果为布尔值
false
时,插值将返回字符串"false"
。长度大于零的字符串是正确的。 ng-hide
伪指令将始终隐藏并且从不显示输入元素。正确
<input type="checkbox" ng-hide="x.thenumber === null" />