首页 文章

为什么混合插值和表达式是不好的做法

提问于
浏览
9

来自Docs:

在表达式中嵌入插值标记注意:AngularJS指令属性采用嵌入式表达式的表达式或插值标记 . 在表达式中嵌入插值标记被认为是不好的做法: - AngularJS Developer Guide - Interpolation

我正在寻找一个写得很好的规范答案,我可以向读者指出 .

2 回答

  • 7

    来自Docs:

    为什么混合插值和表达式是不好的做法:它增加了标记的复杂性无法保证它适用于每个指令,因为插值本身就是一个指令 . 如果另一个指令在插值运行之前访问属性数据,它将获得原始插值标记而不是数据 . 它会影响性能,因为插值会为范围增加另一个观察者 . AngularJS开发人员指南 - 插值

  • 4

    期望布尔值的指令不起作用:

    ERRONEOUS <input type =“checkbox”ng-hide =“{{x.thenumber === null}}”/>

    当表达式求值为布尔值 false 时,插值将返回字符串 "false" . 长度大于零的字符串是truthy . ng-hide 指令将始终隐藏,并且永远不会显示输入元素 .

    正确

    <input type="checkbox" ng-hide="x.thenumber === null" />
    

相关问题