在ng-if中使用函数调用的返回值是不好的做法。它会影响消化周期/性能吗?
答案 0 :(得分:4)
作为视图中使用的任何表达式,它将在每个摘要周期重新评估,以查看其值是否已更改,因此必须删除该元素或将其添加到DOM中。
如果功能足够简单,没问题。如果它试图计算pi的第10000个小数,那么您将遇到性能问题。重要的是了解你正在做什么,以及它是如何运作的。
因此,如果你觉得使用一个函数会让你的代码变得更简单,那就去做吧,如果你真的需要的话就开始优化。
答案 1 :(得分:1)
不,那很好。该功能不应有副作用(特别是不要更改参与变化检测的其他字段)
答案 2 :(得分:0)
函数调用将比仅仅对范围上的变量进行纯粹评估稍慢,这主要是因为必须在“检查真实性”运行之前处理“运行函数”的步骤。但这种性能影响取决于您的函数运行所需的时间。
通常,任何构成复杂逻辑的东西都可以被提取到一个函数中,它会清理你的HTML,因为你的模板文件中不需要长JS。
如果语句不能在单个JS语句中完成,或者语句的开头长度超过40个字符,我经常会提取函数。