2015-11-08 8 views
0

Я запрашивая базу данных, а также извлечение всех изображений, принадлежащие к зарегистрированному пользователю, является то, что код в uploadController:

UserImage.get($scope.user_id) 
    .success(function(data) { 

     $scope.userArray = data; 

     $location.path('/display'); 
    }); 

я могу утешать войти значение данных и это (первый документ):

0: Object 
__v: 0 
_id: "563bd07c7a49a7ac9ae1c513" 
date: "2015-11-05T21:56:12.312Z" 
gallery: "first gallery" 
name: "1b0f6d56-9ed6-4412-a0d6-897a25fb3a84-460x360.jpeg" 
user: "563bd0527a49a7ac9ae1c512" 

так что теперь я могу проверить, что целевой вид (display.html) может получить $ scope.data:

<<div>{{userArray[0].name}}</div> 

$ scope.userArray недоступен для display.html. Я тестировал $ scope в плункере, и он работал нормально: http://plnkr.co/edit/q5XXnfl3JxkRdG0jLyps?p=preview Так что я немного в тупике.

+0

Какая ошибка? – Sajeetharan

+0

Вы не включили свою маршрутизацию, но, похоже, вы добавляете данные в свою область действия, а затем меняете путь, я предполагаю, что новый маршрут имеет разную область? – Tristan

+0

@Tristan - на самом деле тот же контроллер - без изменений. Я попытался поменять его, чтобы путь изменился до того, как $ scope получил данные, но никакой разницы. – meanstacky

ответ

1

Прежде всего, вы должны использовать «.then» вместо «.success», чтобы использовать систему обещаний. If you want to know more about it

И я думаю, что ваша проблема также связана с $location.path('/display');, вы просите свое приложение изменить местоположение, как только получите ответ, так что, возможно, он загружает другой контроллер и останавливается с вашим текущим.

+0

Да, я забыл об успехах и ошибках, которые устарели. Поскольку я уже получал правильные данные в $ scope.userArray, я думаю, что вы правы. $ Location.path - это все испортить. Я использую тот же контроллер для отображения, но вы можете предложить альтернативу пути $ location.path. благодаря – meanstacky

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