我正在尝试在我的JS中动态加载外部JS文件。
我已经创建了一个服务来实现它
angular.module('myApp').service('testService', function($http) {
var prefix;
//codes to determine what prefix is.
// It could be http://partnerapp.com/test or http://linkapp.com/test/libs/...etc
var url = prefix + '/js/test.js';
return $http({
method: 'GET',
url: url
}); //load JS file
});
在我的主控制器中
angular.module('myApp').controller('myController', function($scope, testService){
//I am not sure how to load those js here.
})
无论如何我可以加载它们吗?非常感谢!
答案 0 :(得分:1)
我对angular.js没有多少经验,但除了eval()我只看到一个其他解决方案,它需要jQuery(如果你还没有这样做)。我指的是jQuery.getScript(url, callback)。
这意味着你必须做这样的事情:
var url = prefix + '/js/test.js';
$.getScript(url); //load JS file and execute script
回调是可选的,它是在加载和解释脚本后执行的。
这是我用过的东西,我可以保证会有效。另一种解决方案是使用src =创建脚本标记并将其附加到页面底部。我还没有测试过,所以我不能100%肯定它的成功。
答案 1 :(得分:0)
类似的东西:
angular.module('myApp').controller('myController', function($scope, testService){
testService.then(function(data){
//you can console.log(data) and after maybe eval it ?
eval(data);//eval can be harmfull
}, function(error){
});
});