【问题标题】:Showing data in array using angular使用角度显示数组中的数据
【发布时间】:2013-08-27 10:59:01
【问题描述】:

我正在尝试显示数组中的数据,但我不知道该怎么做。

这是我的 service.js 文件的 sn-p:

this.getdata = function() {
    var myData = $resource('url', {method: 'get', isArray: true});

    myData.prototype.destroy= function(callback) {
        return reffs.remove({id: this.id},callback);
    };

    return myData;
};

从控制器:

$scope.data = myservice.getdata().query;
alert($scope.data.length) // getting 4
alert($scope.data[1].id)  // getting undefined
alert($scope.data[1])     // getting undefined

我也试过了:

alert(JSON.parse($scope.data[1]).id)
alert(JSON.stringify($scope.data[1]).id)
alert(JSON.stringify($scope.data))

alert(data.length) 我得到了 4 个,但没有其他工作 :( 如何将它们写在 alert 或 html 中?

【问题讨论】:

  • 打开 Firebug 或 DevTool NETWORK 控制台并检查您的服务返回的数据。
  • 如果你写console.log($scope.data);怎么办?在 Firebug 中,您可以查看数组元素。

标签: javascript json html angularjs


【解决方案1】:

尝试像这样创建您的资源:

var myData = $resource(
    'url/:id',                // url
    {id:'@id'},               // paramDefaults (optional)
    {'update':{method:'PUT'}} // actions (optional)
);

注意第二个和第三个参数。这些是paramDefaultsactions。在您的代码 sn-p 中,您尝试覆盖默认的 get 行为,但没有完全正确地构造参数。无论如何,这不是必需的,因为query 会满足您的需求。您可能要添加的唯一操作是update 操作,因为ngResource 没有默认的PUT 操作。你可以阅读更多关于ngResourcehere的信息。

那么您应该可以按如下方式使用您的资源:

$scope.data = myservice.getdata().query();

如果你仍然无法调试,我会安装Batarang

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多