2014-08-29 2 views
0

Я довольно новичок в угловом, после использования видеоурока и чтения некоторой документации, я решил перестроить старое приложение в качестве примера с угловыми.Лучшая практика передачи данных от контроллера другому не дочернему или родительскому контроллеру?

У этого приложения есть таблица, показывающая некоторые данные. Он имеет форму, под которой вы можете изменить данные из списка. У вас есть кнопка в каждой строке, которая позволяет редактировать строку, затем заполнять все поля в форме, и вы можете сохранить или отменить свои изменения.

Я сделал контроллер для обработки списка, он отлично работает, он получает json из http. Я использовал ng-click на моей кнопке редактирования, чтобы вызвать функцию в этом контроллере, предоставляя ему весь объект, который он должен редактировать.

Я сделал контроллер для обработки формы, в которой должно произойти редактирование, и я действительно не нашел способ «не-взломать» передачу данных из контроллера списка в контроллер формы.

Итак, мой вопрос: что такое лучшая практика и/или общий способ получить эти данные из моего контроллера списка в мой контроллер формы?

+0

Я передал данные через службу – ivarni

ответ

0

Это зависит от того, как вы используете контроллер формы. Если он используется в шаблоне с использованием атрибута ng-controller, то у этого контроллера есть доступ к родительской области, поэтому вы можете работать с данными контроллера списка. (Хотя некоторые записки сфера-наследственные причуды решаемые «точечной нотации», хорошо объясняются egghead.io: https://egghead.io/lessons/angularjs-the-dot)

Если вы запускаете вашу форму редактирования в другой URL (например /items/2/edit) и обрабатывать его в маршрутизации конфигурации, то вы можете использовать свойство resolve для передачи любых данных на контроллер: $routeProvider docs.

0

Вы можете передать весь объект в качестве параметра

<row ng-repeat="theModelInRow in modelList" ng-click="edit(theModelInRow)"> 
+0

, вот что я делаю прямо сейчас, за исключением того, что функция редактирования находится в моем контроллере списка, и я не знаю, как передать данные в контроллер формы. Я проверю ответ сырья, чтобы убедиться, что он соответствует моим потребностям. Из быстрого обзора страницы мне кажется, что я хочу делать. – moo

+0

Это правильно. Не разделяйте функции контроллера или контроллера списка, вы должны отделить его от модели. У вас должен быть уникальный контроллер. –

0

Если контроллер формы не является вложенным контроллером контроллера списка на вид, то вы можете использовать rootScope.

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