【问题标题】:Get property named post in restangular在restangular中获取名为post的属性
【发布时间】:2013-12-17 12:47:43
【问题描述】:

我正在使用以下代码获取“postrows”列表

$scope.postrows = {};
Restangular.all('/postrows').getList().then(function(data){
  $scope.postrows = data;
});

返回的 JSON 是这样的

{
  id: 1,
  post: {
    id: 1,
    postcategory: 1,
    account: "0005",
    description: "Grond",
    sequence_number: 1
  },
  amount: 2343.56,
},

但是当我遍历项目列表时:

angular.forEach($scope.postrows, function(postrow) {
  console.log(postrow);
  console.log(postrow.post);
}

并想检索例如postrow.post 我从restangular 收到post 函数。如何像在 json 文件中一样获取 post 对象。

我不允许将名称 post 更改为其他名称。

【问题讨论】:

  • 用于循环的代码在哪里?
  • 刚刚编辑了问题。
  • 当您记录postrow 时它是什么样子的?它是否包含您期望的post 属性? console.log(postrow)的结果是什么
  • 记录的时候已经是函数了。此外,当我记录 $scope.postrows 时,post 已经是一个函数而不是一个对象。

标签: javascript json angularjs post restangular


【解决方案1】:

Restangular 实际上用 Restangular 对象覆盖了您的 post 对象。

为此,只需将所有发布方法更改为另一个名称,如下所示:

Restangular.setRestangularFields({
  post: "$post"
});

从现在开始,post 对象不会被覆盖,您可以通过Restangular.all('places').$post(newObject) 创建一个新对象!

【讨论】:

    猜你喜欢
    • 2016-05-25
    • 1970-01-01
    • 2018-11-16
    • 1970-01-01
    • 2022-06-14
    • 2014-10-27
    • 2010-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多