2013-04-01 3 views
1

У меня есть два вида, и я использую маршруты для доступа к ним. Мой основной вид - это список, который использует ListController.обработка данных между двумя видами в угловом

Этот контроллер делает $http запрос и получает некоторые данные обратно и на success я: $scope.data = response.data;

При нажатии на элемент списка, мой маршрут идет к #/view/:id

Я могу получить id используя routeParams в моем другом контроллере: DetailController

с $scope.data была частью ListController, как я могу получить доступ сказать $scope.data в мой DetailController?

(или, по крайней мере, пройти $scope.data[some Id] к DetailController)

EDIT

app.factory('dataService', function(data) 
{ 
    var data = data; 
    return data; 
}); 

ответ был поместить это в моем DetailController. response.data еще был доступен для меня

presentationService().then(
    function success(response) 
    { 
     log(response.data); 
    }, 
    function error(response) 
    { 
     log(response); 
    } 
); 
+0

'dataService' следует сделать запрос на $ HTTP – charlietfl

+0

@charlietfl увидеть мой последний комментарий на пост невидимости» – Ronnie

+0

вот еще один способ, который не требует использования 'затем' в контроллере http://plunker.co/edit/o0opykZ7QOPfxGZCRNFp ? p = preview – charlietfl

ответ

2

Вы не должны использовать области для обмена данными между контроллерами. Используйте сервис вместо этого. Посмотреть этот короткий фильм: http://egghead.io/video/angularjs-sharing-data-between-controllers/

Надеюсь, что это поможет.

+0

ok Я пытаюсь заставить это работать. В моей функции http-success я выполняю «успех функции (ответ) {dataService (response.data)}», и я получаю 'dataService' неопределенным.« Я отправлю свой завод в свой вопрос. Я думаю, что делаю это неправильно. Кроме того, я передаю 'dataService' в свой' ListController' – Ronnie

+0

Переместите ваши задачи $ http в службу. И вы сможете кэшировать данные внутри службы. И данные будут доступны для совместного использования. – ValeriiVasin

+0

Мой http-запрос уже является сервисом. Давайте сделаем это проще ... вот пастель: http://pastie.org/7273427 – Ronnie

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