显示SPA内

时间:2016-02-17 16:26:09

标签: javascript angularjs performance google-developer-tools

我在AngularJS中有一个SPA,可以将不同的模板加载到一个SPA中。

阅读此https://developers.google.com/web/fundamentals/performance/critical-rendering-path/measure-crp?hl=en后,我在SPA的主体中包含了一个onload =“measureCRP()”,基本上就是这样的

<body onload="measureCRP()">
  <div ng-app="app">
    <div ng-view></div>
  </div>
</body> 

我每次加载页面时都可以看到构建DOM所花费的时间以及页面的总加载时间。

但是,当然,当视图更新时,这不会更新。我想在所有模板中包含类似的东西,但它似乎不起作用。

关于如何做到这一点的任何想法?

EDIT。

我尝试按照其他帖子中的建议添加onload Angular js ng-view rendered event

<body>
  <div ng-app="app" ng-controller="SpaController as spa">
    <div ng-view onload="spa.measureCRP()"></div>
  </div>
</body> 

但是虽然函数measureCRP()再次执行,但每次显示的值都完全相同,所以我的猜测是收集的时间戳保持不变。 感谢

1 个答案:

答案 0 :(得分:0)

这是SPA的一个问题。 &#34;真实&#34;导航只发生一次,所有其他导航都是通过AJAX框架进行的。这意味着当DOM完成时onLoad将触发,但这并不意味着显示了某些内容。

我认为此链接可以帮助您

https://www.soasta.com/blog/lessons-learned-web-performance-monitoring-single-page-applications/

再见