От this stackoverflow question, я понимаю, что я должен использовать службы для передачи данных между контроллерами.Синхронизация данных между контроллерами через службу
Однако, как видно из my example JSFiddle, у меня возникли проблемы с прослушиванием изменений в моем сервисе, когда он изменен на контроллерах.
angular.module('myApp', [])
.controller('Ctrl1', function ($scope, App) {
$scope.status = App.data.status;
$scope.$watch('App.data.status', function() {
$scope.status = App.data.status;
});
})
.controller('Ctrl2', function ($scope, App) {
$scope.status = App.data.status;
$scope.$watch('status', function() {
App.data.status = $scope.status;
});
})
.service('App', function() {
this.data = {};
this.data.status = 'Good';
});
В моем примере, я пытаюсь, чтобы подписаться на App.data.status
в Ctrl1
, и я пытаюсь опубликовать данные Ctrl1
в App
. Однако, если вы попытаетесь изменить поле ввода в div
, связанное с Ctrl2
, текст не изменяется на границе контроллера до Ctrl1
.
Похоже, вы хотели сказать «публиковать данные из ** Ctrl2 ** в приложение». – chipit24