Как из одного контроллера изменить свойство другого?

Пример

И можно ли как то глобально получить доступ к свойствам любого контроллера?
  • Вопрос задан
  • 2912 просмотров
Решения вопроса 1
Да как уже тут ответили. через $parent.
Может быть несколько ситуаций
1) Из дочернего к родительскому
2)Нам нужно получить из родительского доступ к дочернему.
3) контроллеры на одном уровне

1)$scope.$parent.functionName();

2) Можно сделать так : в дочернем пишем нечто такое
$scope.$parent.functionName =  function(){

};


Ну а потом в нужном месте родительского скопа просто вызвать эту функцию.

3) Ну тут принцип похожий. Если 2 контроллера на одном уровне то у них общий родитель, можно передать через него.

Еще как вариант
$rootScope.
$emit, $broadcast.

Если нужно вызвать свойство или функцию другого контроллера уже на вьюшке. То Можно использовать Alias контролера.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы