Задать вопрос

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

Пример

И можно ли как то глобально получить доступ к свойствам любого контроллера?
  • Вопрос задан
  • 2913 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    Angular Developer
    5 месяцев
    Далее
  • Учебный центр IBS
    WEB-022 Разработка на Angular. Продвинутый уровень
    1 неделя
    Далее
  • Академия Eduson
    Frontend-разработчик
    9 месяцев
    Далее
Решения вопроса 1
Да как уже тут ответили. через $parent.
Может быть несколько ситуаций
1) Из дочернего к родительскому
2)Нам нужно получить из родительского доступ к дочернему.
3) контроллеры на одном уровне

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

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

};


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

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

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

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

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

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