在Angularjs中,是否可以并行加载多个指令?

时间:2017-08-30 13:50:43

标签: javascript angularjs performance angularjs-directive parallel-processing

我在UI上有一个包含5列的表。这些列包含使用不同指令呈现的不同图表,即自定义进度条,边距图表,目标图表等。 目前工作正常。

问题: - 加载页面时,页面需要大约10秒才能渲染。 (来自后端的数据需要800-900ms才能返回数据)。当我将图表列的数量从5减少到1时,渲染页面所花费的时间已大幅减少到2.5秒。当我逐一添加列时,渲染页面的时间持续增加1-2秒。

我正在寻找一种方法,我可以一次并行调用5个指令,这样渲染页面所需的时间大约为3-4秒。

提前致谢!!

1 个答案:

答案 0 :(得分:0)

看看你的问题我在下面找到了分享。

  1. 指令总是并行运行,除非它们没有相互嵌套。假设在您的场景中,它们处于ng-repeat循环中,因此它们将并行运行。
  2. 避免一次性调用所有25个对象(具有分页用例),这将节省服务器级别的时间。
  3. 避免同时渲染DOM上的所有图表。 DOM渲染是加载周期中最昂贵的过程。尝试渲染5,但显示一个带有显示块,休息时显示无,然后逐个显示它们。这样可以避免DOM冻结。在ng-repeat中尝试限制选项。
  4. 如果您可以共享DOM代码和JS代码,那就太好了。