Используйте $rootScope.$broadcast
, чтобы вызвать событие, первый параметр для имени события и необязательный второй параметр для передачи аргумента.
app.controller('IndexController', function ($scope, $rootScope, MainService) {
$scope.getUsername = function() {
MainService.getUsername().then(function (response) {
$rootScope.$broadcast('username-fetched', { username: response.data.username });
});
};
});
Затем перехватите событие на другом контроллере, используя $scope.$on
.
app.controller('IframeController', function ($scope) {
$scope.$on('username-fetched', function (event, data) {
$scope.user = data.username;
});
});