2016-11-01 4 views
0

В последнее время наблюдается поведение контроллера с угловым управлением. Кто-то случайно из команды сделал структурированы DOM так: -Контроллеры AngularJS

<div ng-controller="firstController"> 
<div ng-controller="secondController"> 
</div> 
</div> 


// This should have been structured like :- 

<div ng-controller="firstController"></div> 
<div ng-controller="secondController"></div> 

Ниже приведены мои наблюдения, что мне нужно, чтобы спросить, есть ли это на самом деле является следствием этого?

  1. Передача событий производится дважды. (Не использовать корневой указатель для отправки/получения событий)

  2. У меня было впечатление, что я могу получить доступ к моделям secondController от firstController; чего не происходит.

  3. Я действительно скептически отношусь, когда secondController обращается к «$ scope», является ли он локальным или родительским? (Предполагаю, оба)

Пожалуйста, исправьте мое понимание. Действительно признательно, если кто-то имеет решение для решения проблемы (perticular первых один)

Благодарности

+0

Не могли бы вы разместить свои контроллеры. Кроме того, какую версию углового вы используете? – Romski

+0

Код контроллера поможет. Также в первом случае класс используется вместо ng-контроллера – Maverick

+0

Мой плохой .. Я ошибся .. но я положу некоторый код. – Robin

ответ

0

При модификации коды, как вы упомянули, вы не сможете запускать модели secondController из firstController. Поскольку в настоящее время между этими двумя контроллерами нет родительской дочерней связи.

В этом случае $scope во втором контроллере будет определенно локальным. Вы не можете получить доступ к переменной $scope от первого контроллера. Если вам необходимо обмениваться данными между этими двумя контроллерами, вам необходимо использовать Службы Пользователей для передачи данных между службами.