渲染大字符串时,AngularJS会变慢

时间:2017-12-21 19:28:38

标签: javascript angularjs usability

对于我的Angular 1.5文件上传组件,我实现了预览。

当用户选择文件时,它会被加载端的.getFill()读取,我将内容存储在控制器变量中,如

FileReader

模板向用户显示

fileReader.onloadend = function(ev) {
    $rootScope.$evalAsync(function($scope) {
        $ctrl.rawFileContent = ev.target.result;
    });
};

这对我在开发过程中的测试非常有效。

问题

真实世界用户将上传> 500kB文件,然后需要几分钟才能呈现模板。

分析显示,'content-script.bundle.js'中的一些内部函数在大部分时间内都占用了。

更新 最糟糕的是;)它必须在IE11中运行。

到目前为止我尝试了什么

  1. 使用一次性绑定<pre ng-show="$ctrl.rawFileContent">{{$ctrl.rawFileContent}}</pre> 但没有任何改进

  2. 获取{{::$ctrl.rawFileContent}}并通过直接DOM操作设置其内部文本,这仍然需要很长时间,对我来说似乎有点“无棱角分析”。

    <PRE>
  3. 你有什么想法,为什么这需要这么长时间?

    如何加快速度?

    或者,作为一种解决方法,我可以以某种方式跟踪进度以通知用户吗?

1 个答案:

答案 0 :(得分:-1)