unified.controller('YourteamController', function uniYourteamController($scope) {
testController.listTeams();
});
unified.controller('testController', function testController($scope) {
$scope.listTeams = function() {
//Listing process
};
});
我有两个控制器。我需要在另一个控制器(testController)中调用一个函数(listTeams())。如何使用angularjs
来调用它答案 0 :(得分:1)
走服务方式。更容易测试,更符合“最佳实践”。
angular.module('sharedService', function () {
function listTeams () {
return 'teams!';
}
angular.extend(this, {
listTeams: listTeams
})
});
angular.module('ctrl1', function ($scope, sharedService) {
angular.extend($scope, {
listTeams: sharedService.listTeams
});
});
angular.module('ctrl2', function ($scope, sharedService) {
angular.extend($scope, {
listTeams: sharedService.listTeams
});
});
答案 1 :(得分:0)
您需要将第一个控制器作为依赖注入第二个控制器。 Here是如何做到的。
答案 2 :(得分:0)
执行以下操作......
unified.controller('YourteamController', function uniYourteamController($scope) {
var testController= $scope.$new();
$controller('testController',{$scope : testCtrl1ViewModel });
testController.listTeams();
});
unified.controller('testController', function($scope) {
$scope.listTeams = function() {
//Listing process
};
});
答案 3 :(得分:0)
你必须提供一个服务,它将返回一个可以在两个具有不同范围的控制器中使用的函数。
========================================
unified.controller('YourteamController', function uniYourteamController($scope, $abc) {
$abc.listTeams();
});
unified.controller('testController', function testController($scope, $abc) {
$abc.listTeams();
});
unified.service('abc', function () {
this.listitems = function () {
}
});
答案 4 :(得分:0)
试试这个
unified.controller('YourteamController', function uniYourteamController($scope) {
$scope.$parent.listTeams();
});