Я пытаюсь вызвать метод civilitiyController в CustomerController. Таким образом, при моем поиске я нашел диспетчера событий для вызова метода, но мне не удалось вернуть результат из CivilityController в CustomerController.Метод вызова контроллера в другом контроллере angularjs
Я уже попытался это:
1/ civilitiesController:
$scope.$on("getListCivilities", function(event, args){
$scope.civilities = getCivilitiesList();
});
customersController :
$scope.$broadcast("getListCivilities");
console.dir($scope.civilities) // after run civilities = undefined
2/CivilitiesController:
$scope.$on("getListCivilities" , function(event, args){
var list = getCivilitiesList();
return list;
});
CustomersController:
$scope.civilities = $scope.$broadcast("getListCivilities");
console.dir($scope.civilities); //display var of broadcast
3/Edit: После первого ответа, я попытался это:
любезностями контроллер:
function getCivilitiesList()
{
var reqGetCivilities = $http({ url: 'api/Civilities/Get' });
reqGetCivilities.success(function(data){
$scope.civilities = data;
$scope.$broadcast("getListCivilities", { list: $scope.civilities });
return data;
});
}
getCivilitiesList();
customersController:.
function test()
{
$scope.$on("getListCivilities", function (event, args) {
$scope.civilities = args.list;
console.log('test0');
console.dir($scope.civilities);
});
}
test();
$ сфера $ на никогда не выполняется, и я не понять, почему.
Я надеюсь, что кто-то может мне помочь.
изменить $ scope. $ Передавать это на $ rootScope. $ Broadcast и вставлять rootcpope в ваш контроллер civilities –
Я уже тестировал и не работает. – JonathanTheBrosh
Я не уверен, что это правильный способ объявить контроллер и использовать его –