以下是我的问题的简化版本。
假设我有loadMe.js
脚本包含返回某个数组的简单函数。
CallMe = function(){
return [1,2,3];
}
ng
是否有可能创建另一个加载loadMe.js
脚本的脚本,而不是从CallMe
脚本调用loadMe.js
函数并返回该函数返回的内容,在这种情况下数组[1,2,3]。
谢谢!
答案 0 :(得分:3)
将loadMe.js放入以下模块中:
var loadMe = angular.module('loadMe',[]);
loadMe.factory('loadMe', [function(){
return {
'callMe':function(){
return[1,2,3];
}
}]);
然后将模块注入您的应用程序:
var myApp = angular.module('myApp', ['loadMe']);
然后在你的控制器中使用它:
myApp.controller('mainController', ['$scope', 'loadMe', function ($scope, loadMe) {
//use loadMe to get [1,2,3]
var array = loadMe.callMe();
console.log(array); //will log [1,2,3]
});
不要忘记将模块包含在HTML
中<script src="/assets/js/models/loadMe.js"></script>
如果您希望直接从视图中获取阵列,可以将loadMe模块添加到控制器的范围:
$scope.loadMe = loadMe;
然后在您的视图中,您可以使用{{loadMe.callMe()}}