Angularjs - 如何防止多次评估相同的监视表达式?

问题描述

在分析 Angularjs 应用程序时,我可以看到在一个缓慢的页面摘要运行了 5 次,许多表达式被评估了太多次,许多昂贵的控制器函数也被多次调用。 有没有办法防止被监视的表达式在单个摘要中被评估超过 1 次?

几个例子可以更好地说明问题:

  1. 我有一个包含 300 多个图标的图标选择器,每个图标都有 {background: colorPicker.color}
  2. 我有一个非常昂贵的函数检查页面是否被修改并需要保存。它对一个非常大的对象的初始版本和当前版本进行深度相等。

所以我知道当摘要运行时我不需要重新评估这些。 我想要一种在单个摘要周期内缓存计算值的方法

一次性绑定不是一种选择,这些被监视的表达式确实会发生变化,只是不在单个摘要中。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)