【发布时间】:2014-05-12 13:57:49
【问题描述】:
如何在延迟加载中包含多个 js 文件,以便在页面完成加载并执行 angular 时?
我尝试使用自定义指令,代码如下所示: //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***');
【问题讨论】:
-
答案是否定的。如果它在模板中甚至不会运行它。
-
@mpm 所以没办法有条件地从模板调用 js 文件吧?
-
总有一种方式,毕竟它只是 javascript。问题是,这样做是否有意义。但是您仍然可以在纯 javascript 中将脚本附加到 body 元素。
标签: javascript angularjs lazy-loading require