如何加载javascript文件和ng-include模板

我使用下面的代码将模板包含在我的主文件中。

我的activity.html是这样的,

  

Activity page contents

但是javascript没有随模板一起加载

我在SO中发现了一些与此相关的问题,但无法找到可行的解决方案。 其中一个答案是在主文件中将angular js加载到angularjs之上,这样脚本标记就会被接受。 但没有发现它有效。

我在这里找到了这个答案, 在ng-include中加载脚本 ,不幸的是那里不是公认的答案。 所以我在这里提供了一些更新的需求。

图书馆链接在这里

创建一个包含以下脚本的js文件并将其加载到主文件中。

 (function (ng) { 'use strict'; var app = ng.module('ngLoadScript', []); app.directive('script', function() { return { restrict: 'E', scope: false, link: function(scope, elem, attr) { if (attr.type=='text/javascript-lazy') { var code = elem.text(); var f = new Function(code); f(); } } }; }); }(angular)); 

并将 ngLoadScript 模块作为应用程序依赖项 加载

 angular.module('myApp', [ 'ngLoadScript' ]) 

在Partial(** activity.html )中使用text/javascript-lazy作为script标记的type属性值而不是text/javascript :**

  

加载外部js要做的更多事情:

我使用ddrive下面的代码来加载脚本(在main.html中

 function loadjscssfile(filename, filetype) { if (filetype == "js") { // if filename is a external JavaScript file var fileref = document.createElement('script'); fileref.setAttribute("type","text/javascript"); fileref.setAttribute("src", filename); } else if (filetype == "css") { //if filename is an external CSS file var fileref = document.createElement("link"); fileref.setAttribute("rel", "stylesheet"); fileref.setAttribute("type", "text/css") fileref.setAttribute("href", filename) } if (typeof fileref != "undefined") { document.getElementsByTagName("head")[0].appendChild(fileref) } } 

在部分(activity.html):