我一直在搜索和搜索,也许我在搜索中使用了错误的术语,但我找不到我想要的内容。我正在使用Angular 1.5和组件。
说我有一个组件A:
var module = angular.module('myApp');
module.component('A', {
templateUrl: 'template.html',
controller: function(){}
});
现在这很简单。我也知道我可以执行以下操作,只要'myControllerFunction'在同一个文件中。
var module = angular.module('myApp');
module.component('A', {
templateUrl: 'template.html',
controller: myControllerFunction
});
function myControllerFunction(){}
如果我想为'myControllerFunction'创建一个文件,我该怎么办?如何从我的组件中访问该文件中的该函数?
我知道使用Node.js很容易使用exports和require(),但我不太熟悉使用AngularJS做什么。
非常感谢任何帮助!谢谢!
答案 0 :(得分:5)
你可以从你的模块中引用控制器,如下所示:
module.component('A', {
templateUrl: 'template.html',
controller: 'YourController'
});
然后在另一个文件中,您可以使用该方法定义控制器。
function() {
'use strict';
angular.module('app').controller('YourController',
YourController);
YourController.$inject = [ '$scope', '$http', '$window',
'$rootScope' ];
function YourController($scope, $http, $window, $rootScope) {
function yourcontrollerfunction() {
}
yourcontrollerfunction();
}
})();
加载控制器时会自动调用yourcontrollerfunction函数。加载模块时将加载控制器。