Javascript 具有静态值的指令
如果我使用带有静态值的AngularJS指令,那么假设:Javascript 具有静态值的指令,javascript,angularjs,performance,angularjs-directive,Javascript,Angularjs,Performance,Angularjs Directive,如果我使用带有静态值的AngularJS指令,那么假设: <input type="text" ng-readonly="true" /> 我的问题是: 是否会在AngularJS循环中重新评估该指令,导致性能下降?(考虑一个更重的场景)是否会在AngularJS循环中重新评估该指令: 是的,ng readonly的值是一个,并且这个表达式可能是一个更复杂的三元或函数引用。因此,指令必须对其进行脏检查(对于更复杂的情况) 导致性能下降 这取决于许多因素,在做出假设之前,应该进行
<input type="text" ng-readonly="true" />
我的问题是:
是否会在AngularJS循环中重新评估该指令,导致性能下降?(考虑一个更重的场景)
是否会在AngularJS循环中重新评估该指令
:
是的,ng readonly
的值是一个,并且这个表达式可能是一个更复杂的三元或函数引用。因此,指令必须对其进行脏检查(对于更复杂的情况)
导致性能下降
这取决于许多因素,在做出假设之前,应该进行测试和基准测试。大量脏检查可以在没有任何明显性能下降的情况下进行
从Angular 1.3开始,您可以使用语法(:
)来可能不向监视队列添加值,但我不确定如何使用true
:
<input type="text" ng-readonly="::true" />
解决方案可能是在父指令上绑定一次。2014年,NG Conf在youtube上发布了关于这一点以及如何不受这样的性能冲击的文章。我希望这有帮助。