我只想到整个页面的速度变慢了。
我有一个更新日期的指令,基于Resig的prettyDate jquery插件,以方便的格式显示事件发生的时间...指令本身围绕他们在文档页面上使用的angular的样本构建{{3 }}
如果页面上有一些元素,它可以很好地工作,但是一旦你放了更多元素就会减慢整个页面的速度,因为它会不断更新时间,即使你在更新之间放置更长的间隔,它仍然会同时更新所有元素。
你们可以提出任何解决方案吗?有可能以某种方式异步更新它们,或者我知道它听起来像在不同的线程中或类似的东西。
人们通常如何解决这个问题,如何在不牺牲性能的情况下更新数千个元素?
.
答案 0 :(得分:0)
您是否需要每秒更新一次?相反,每分钟怎么样?
不要让每个指令运行自己的计时器,而是创建一个timerService。将此服务注入每个指令。让指令$监视服务属性(例如,currentTime)以进行更改,并在其更改时更新其视图。
如果您不希望所有日期同时更新,您可以在timerService中创建一个计时器数组(并在更新数组的每个元素时交错)并让每个指令的链接函数选择一个随机数从阵列进入观看。