2015-10-26 3 views
0

Я извлекаю данные json из URL-адреса, и если я выхожу на консоль, данные там .. но когда я ввожу его в контроллер, он не работает. Что я сделал не так?Ионные угловые данные не проходят должным образом

angular.module('starter.notifications', []) 
.factory('Notifications', function($http) { 
return { 
    getAll: function() 
    { 
     return $http.get(link).then(function(response){ 
     console.log(response.data); 
     notifications = response.data; 
     return notifications; 
     }); 
    } 
} 

Мой контроллер

.controller('NotificationsCtrl', function($scope, $state, Notifications) { 
    $scope.notifications = Notifications.getAll(); 
}) 

$ scope.notifications равна нулю. Поэтому я не понимаю, почему это не работает.

UPDATE: Так что теперь у меня есть передача данных. Но я думаю, что не понимаю, как его использовать.

Correct/Работа Код

getAll: function() 
{ 
    notifications = ($http.get(link).then(function(response){ return response.data})); 
    return notifications; 
} 

Так что теперь в моем контроллере, когда я делаю

console.log(notifications); 

я получаю эту dataObject

Так как я использовать эти данные? массив данных, который я хочу, есть ... но я не могу его получить. Я думал, что я мог бы использовать notifications.value, но это не работает

ответ

0

Я думаю, что ошибка в том, что ваш посылают два возврат товара заявления в вашем factory.Change ваш код

getAll: function() 
    { 
     var temp = $http.get(link).then(function(response){ 
     console.log(response.data); 
     var notifications = response.data; 
     return notifications; 
     }); 
    } 
+0

Хорошо, что сработало. Я внесла некоторые корректировки ... теперь на следующую проблему. Доступ к данным. – brandenwagner

+0

теперь для отображения всех данных из json вам нужно использовать директиву ng-repeat, например

  • {{notification.value}}
  • или если вы не хотите показывать полные данные, тогда вам нужно получить к нему доступ {{уведомления [0] .value}} –

    0
    notifications = ($http.get(link) 
          .success(function(data, status, headers, config){ 
          console.log(data); 
          return data; 
          }) 
          .error(function(err) { 
          return err; 
          }) 
    ); 
        return notifications; 
    

    необходимо передать более одного параметра. Первоначально я только передавал ответные данные, статус, заголовки, config

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