2014-01-14 3 views
0

У меня есть два ngController s в одном ngApp. Я хотел бы, чтобы данные связывали модель с одним контроллером с другим.В AngularJS как я могу привязать данные к одной модели от одного контроллера к другому?

Вот пример моих контроллеров:

  1. ViewUsers: Является ли вид списка пользователей

  2. UserDetail: детальный вид одного пользователя

Когда пользователь нажимает на userRow(model:$scope.users[n]) в ViewUsers, он вызывает глобальную функцию, которая создает новый экземпляр UserDetail.

Но я хочу, чтобы отправить $scope.users[n] в конструкторе UserDetail или что-то по ссылке, поэтому любые изменения в modelUserDetail в моем контроллере будет отражаться в userRow от контроллера ViewUsers.

Так, например, когда вы меняете имя в подробном виде, оно будет отображено в виде списка сбоку.

Есть services маршрут, по которому мне нужно идти? Или $watch?

Любой совет будет оценен, спасибо!

+1

См. Отличный учебник «Связь с контроллером AngularJS» здесь http://onehungrymind.com/angularjs-communicating-between-controllers/ –

+0

Хм, спасибо за это. Хотя проблема в том, что я динамически создаю новый контроллер; не записаны в html. Может быть, я попробую создать новый контроллер, а затем транслировать через корнеплод. – Prodikl

+0

Это может быть другое решение, да –

ответ

1

Другой подход к использованию области действия, которая является родительской для ваших областей или $ rootScope.

Кроме того, см. this post - приведен пример совместного использования данных между контроллерами.

Смежные вопросы