Обычно я использую сервис для обмена данными между контроллерами. Таким образом, вы создаете такой сервис, как показано ниже, и получаете доступ/модифицируете его с обоих контроллеров. Чтобы уведомить другие компоненты, вы можете использовать $ rootScope. $ Emit для передачи данных. Обычно это более эффективно, чем $ broadcast, если вам не нужно распространять событие на все дочерние области. Это быстрый способ сделать это - тем не менее, вы можете быстро оказаться в ситуации, когда каждый компонент зависит от $ rootScope, альтернатива устанавливается слушателями через службу: Why do we use $rootScope.$broadcast in AngularJS?
angular.module('app').service('myService', function($rootScope) {
var count = 0;
this.increaseCount = function() {
count++;
$rootScope.$emit('countUpdated', count);
}
this.getCount = function() {
return count;
}
});
angular.module('app').controller('HeaderCtrl', ['$rootScope', function($rootScope) {
$rootScope.$on('countUpdated', function(count) {
// do your stuff
});
}])
, пожалуйста, добавьте код –
Возможный дубликат [Передача данных между контроллерами в Angular JS?] (Http://stackoverflow.com/questions/20181323/passing-data-between-controllers-in-angular -js) – Chanthu
вы можете использовать Сервис для передачи данных между контроллером или можете использовать rootScope –