2014-04-09 58 views
0

我想知道页面呈现的总时间。我已经尝试在控制器中使用'$viewContentLoaded'这样的东西。页面呈现后的日志时间

$scope.$on('$viewContentLoaded', { log.timeEnd('timelogger'); }); 

但是,即使在执行angular custom指令之前,也会调用此方法。我不确定

+2

如果你只是想通过调试原因知道这个'hit'f12' chrome,firefox和IE11有很好的开发者控制台,它会向你显示这些数据。 –

+0

我的建议是派遣自己的自定义事件,在指令的链接阶段记录时间。试着弄清楚最后被调用的是什么。 – shanks

+0

@KyleNeedham:即使从手机等移动浏览器访问时,我们也希望将时间记录到数据库中。所以我不确定我们是否可以使用开发人员控制台 – sveerap

回答

1

一个更有趣的指标可能是$digest times,因为这实际上会导致长时间的渲染暂停。但是,由于角度处理DOM的流动性,您可能无法获得有关您想要的渲染时间的有用信息。

+0

感谢您的参与。我会尝试一下,看看我是否可以更接近至少登录 – sveerap

+0

我试图使用代码片段,但得到以下错误。 0x800a138f - JavaScript的运行时错误:无法获取属性未定义或空引用 '$申请' 下面是代码 的app.config([ “$提供” 功能($提供){ $ provide.decorator('$ rootScope',function($ delegate){ var digest = $ delegate。$ digest; $ delegate。$ digest = function(){ console.log('Digest on scope'+ this。 $ id +'started'); console.time(this。$ id +' - $ digest'); digest.apply(this,Array.prototype.slice.call(arguments)); console.timeEnd(this。$ id +' - $ digest'); }; }); }]); – sveerap

+0

它看起来像你的代码中的其他地方引用$应用于未定义的对象。 –