我正在尝试创建一个基本控制器,我可以使用所有其他控制器需要的功能。我想在我的下级控制器上继承或实例化JavaScript页面。
我在网上查看并看到了不同的建议,但它对我没有用。我在布局上按顺序放了2个脚本。我创建了一个基本控制器:
var app = angular.module('mainApp', []);
我试图在其他控制器中访问它:
baseController.app
.controller('listsController'.....
如何在listController文件中访问baseController(将来会有函数)?
答案 0 :(得分:2)
一种方法是使用$controller
服务将其实例化为this回答状态
app.controller('ChildCtrl', function($scope, $controller) {
$controller('ParentCtrl', {$scope: $scope});
});
但正如你所说,你拥有所有其他控制器所需的功能,我建议你创建一个能够保存这些常用功能的服务。
这是一个服务示例:
app.factory('functionServ', function () {
var function1 = function(){
//Do your thing
};
var function2 = function(){
//Do your thing
};
return {
function1: function1,
function2: function2
}
});
然后将服务注入需要使用通用功能的控制器
app.controller('ChildCtrl', ['$scope', 'functionServ',
function ($scope, functionServ) {
//Call the functions like: functionServ.function1();
}]);