离子角度数据未正确传递

时间:2015-10-26 01:37:04

标签: angularjs ionic-framework

我正在从网址中检索json数据,如果我输出到控制台,数据就在那里..但是当我将它注入控制器时它无法正常工作。我做错了什么?

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为null。所以我不明白为什么那些不起作用。

更新: 所以我现在让它传递数据..但我想我不明白如何使用它。

正确/工作代码

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

所以现在我的控制器当我做

console.log(notifications);

我得到这个dataObject

那么我该如何使用这些数据呢?我想要的数据数据是......但我无法得到它。我以为我可以用   notifications.value但不起作用

2 个答案:

答案 0 :(得分:0)

我认为错误是您在工厂发送了两个返回语句。将代码更改为

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

答案 1 :(得分:0)

- (NSArray *)allPropertyNames {

    unsigned count;
    objc_property_t *properties = class_copyPropertyList([Player class], &count);

    NSMutableArray *rv = [NSMutableArray array];

    unsigned i;
    for (i = 0; i < count; i++)
    {
        objc_property_t property = properties[i];
        NSString *name = [NSString stringWithUTF8String:property_getName(property)];
        [rv addObject:name];
    }

    free(properties);

    return rv;
}

需要传递多个参数。最初我只传递响应副数据,状态,标题,配置