Angular js - 使用延迟加载从视图中获取js文件

时间:2014-05-12 13:57:49

标签: javascript angularjs lazy-loading require

如何在延迟加载中包含多个js文件,那么当页面完成加载并且已经执行了角度?

我尝试使用自定义指令,代码如下: // HTML

<ng-lazy-load data-type="script" data-src='["file.js"]'></ng-lazy-load>

//指令

.directive('ngLazyLoad', [function () {
    return {
      restrict: 'E',
      templateUrl:'views/modules/module_lazy_load.html',
      scope:true,
      link: function ($scope, element, attr) {
        if(attr.type === 'script'){
          $scope.src = JSON.parse(attr.src);
        }

      }
    };
  }]);

//指令视图

<script ng-if="src" ng-repeat="path in src" src="{{path}}"></script>

// file.js将包含在延迟加载

alert('daf***');

2 个答案:

答案 0 :(得分:1)

我不这么认为,因为在角度可以接管之前加载脚本。

如果指令可以检查你的东西然后你可以$ document.write脚本到index.html?

让负责范围变量的控制器注入指令,然后它可以有条件地写入html。

答案 1 :(得分:0)

不然。这是一个暂时不一致的想法:在解析DOM时遇到脚本标记。以后“关掉”它甚至意味着什么?它将在那时被执行。