K-2
@K-2

Как передать события(данные) в другой контроллер?

Как сделать так, чтобы контроллер2 работал с данными в контроллере1. И соответственно изменял данные в контроллере1.
Контроллеров2(3,4..) может быть много, поэтому прописывать зависимость от их всех в контроллере1 не получится.

<html ng-app="myApp">
<body>

<div ng-controller="phoneController">
<p>Название: {{phone.name}}</p>
</div>

<div ng-controller="phoneController2">
<input type="text" ng-model="phone.name" / >
<p>Название: {{phone.name}}</p>
</div>

<script src="js/lib/angular.min.js"></script>
<script type="text/javascript">
var myApp=angular.module('myApp', []);

myApp.controller('phoneController', function($scope) {
 
  $scope.phone = {
        name: 'Nokia Lumia 630'
    }
});

myApp.controller('phoneController2', function($scope) {
 
  $scope.phone = {
        name: 'Nokia Lumia 630'
    }
});

</script>
</body>
</html>
  • Вопрос задан
  • 127 просмотров
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
введите между ними сервис, который уже просите менять состояние. А в контроллере подписывайтесь на изменение состояния.

В целом ждем вмердживания новой документации: https://github.com/angular/angular.js/pull/13834 https://github.com/angular/angular.js/pull/14416

Самодостаточные контроллеры как и $scope больше не нужны.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы