【发布时间】:2015-10-27 08:31:13
【问题描述】:
我正在尝试加快我的网站速度。这是我在 Timeline/Profile JS 中的 chrome 开发者工具中找到的。其中包含 150 个蓝色 Parse HTML(在屏幕中)。
这是加载时间的 50%。我使用平板电脑对其进行了测试,此功能甚至需要 15000 毫秒!我正在设置这样的路由提供程序:
var start = '<div class="important">';
var end = '</div>';
$routeProvider.when('/test', {
template: start + 'some short text' + end
});
怎么了?网站的完整大小为500kb。它有 97 个作用域。
编辑:如果我在平板电脑上不使用角度测试网站,加载时间为 2.5 秒(正如我在上面指出的角度超过 18 秒)。我愿意为解决方案付费。
我还添加了我调试过的timeline data(在平板电脑上)。您可以在 Chrome 上查看时间线。打开开发者控制台(F12)。单击选项卡时间轴。右键单击此选项卡,然后选择加载时间线数据。
编辑 2:我正在使用angular-material,我认为这可能是问题所在,这可能是所有那些解析 html 的问题,因为有很多按钮。
【问题讨论】:
-
请注意,parseHTML 调用是 Angular 生命周期的一部分。您使用 ng-repeat 的频率如何?
-
只有一个 ng-repeat,当我参加那个测试时它是空的(0 项)(通常它大约有 5 项)
-
@dontHaveName 我认为除非有人遇到过同样的问题,否则很难在没有看到一些实际代码的情况下为您提供帮助。
-
@dontHaveName 实际上我在我的一个项目中遇到了一些 angularJS 性能问题。我们需要访问应用程序或至少查看代码以了解正在发生的事情。当您在单个视图中有超过 10000 个绑定时,可能会发生这种情况。 (由于在我们的案例中误用了自定义指令)
-
站点有 97 个作用域,所以不能有更多的绑定,对吧?我编辑了我的问题,我认为这可能是角度材料的问题。因为每次我做类似
text 的事情可能是 1 parse html
标签: javascript angularjs angular-material