Why mixing interpolation and expressions is bad practice

后端 未结 2 564
無奈伤痛
無奈伤痛 2020-11-22 05:38

From the Docs:

Embedding interpolation markup inside expressions

Note: AngularJS directive attributes take either

相关标签:
2条回答
  • 2020-11-22 06:03

    Directives which expect Boolean values won't work:

    ERRONEOUS

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

    When the expression evaluates to the Boolean value false, interpolation will return the string "false". Strings that have length greater than zero are truthy. The ng-hide directive will always hide and never show the input element.

    CORRECT

     <input type="checkbox" ng-hide="x.thenumber === null" />
    
    0 讨论(0)
  • 2020-11-22 06:12

    From the Docs:

    Why mixing interpolation and expressions is bad practice:

    • It increases the complexity of the markup

    • There is no guarantee that it works for every directive, because interpolation itself is a directive. If another directive accesses attribute data before interpolation has run, it will get the raw interpolation markup and not data.

    • It impacts performance, as interpolation adds another watcher to the scope.

    AngularJS Developer Guide - Interpolation

    0 讨论(0)
提交回复
热议问题