如何从另一个脚本调用函数(AngularJS)

时间:2016-05-02 18:08:31

标签: angularjs angularjs-directive

以下是我的问题的简化版本。 假设我有loadMe.js脚本包含返回某个数组的简单函数。

CallMe = function(){
return [1,2,3];
}

ng是否有可能创建另一个加载loadMe.js脚本的脚本,而不是从CallMe脚本调用loadMe.js函数并返回该函数返回的内容,在这种情况下数组[1,2,3]。 谢谢!

1 个答案:

答案 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()}}