Javascript Angular js-使用延迟加载从视图中要求js文件

Javascript Angular js-使用延迟加载从视图中要求js文件,javascript,angularjs,lazy-loading,require,Javascript,Angularjs,Lazy Loading,Require,如何在延迟加载中包含多个js文件,以便在页面完成加载并执行angular时 我尝试使用自定义指令,代码如下所示: //html //指令视图 <script ng-if="src" ng-repeat="path in src" src="{{path}}"></script> 我不这么认为,因为angular还没来得及接管,脚本就已经加载了 一个可以检查你的东西然后你可以$document.write脚本到index.html的指令怎么样 将负责scope变量的控制器

如何在延迟加载中包含多个js文件,以便在页面完成加载并执行angular时

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

//指令视图

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

我不这么认为,因为angular还没来得及接管,脚本就已经加载了

一个可以检查你的东西然后你可以$document.write脚本到index.html的指令怎么样


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

否。这是一个暂时不一致的想法:当解析DOM时遇到脚本标记时,就会执行它。以后“关掉”又意味着什么呢?到那时它已经被执行了。

答案是否定的。如果它在模板中甚至不能运行它。@mpm所以没有办法从模板有条件地调用js文件,对吗?毕竟总有一种方法就是javascript。问题是,这样做有意义吗。但是你仍然可以在纯javascript中向body元素添加一个脚本。我们在一个讨厌的JS文件中编写了一些肮脏的代码,但是如果它包含在一个指令中,那么为什么不呢?因为它只局限于一个领域和范围。当然,我同意等待更多的人回答或评论,这样我们以后可以得到更多的反馈。我会尝试使用指令,因为我喜欢这种方法,如果它能工作,并且没有最佳的替代方案,我会告诉你,谢谢:)如果你在页面准备好的时候创建了一个新的DOM元素,我猜如果它的标签不存在,它也会被解析和执行?我不需要在我想要的时候关掉它(如果可能的话)
.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>
alert('daf***');