在文档中:

在表达式内部嵌入插值标记

注意: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" />