Restangular - 如何获得请求的普通结果(未包装)

Restangular - How to get the request's plain results (not wrapped)

我正在尝试使用 mgonto 的 Restangular 从 REST api 获取一些数据。

// Restangular returns promises
Restangular.all('users').getList()  // GET: /users
.then(function(users) {
  // returns a list of users
  $scope.user = users[0]; // first Restangular obj in list: { id: 123 }
})

// Later in the code...

// Restangular objects are self-aware and know how to make their own RESTful requests
$scope.user.getList('cars');  // GET: /users/123/cars

这很好,而且可行,但是承诺回调中返回的所有结果都有一些由 Restangular 添加的方法和属性(这就是您可以对用户执行 .getList("cars") 的方式)。

我想要的是仅检索用户的数据(名称、ID...),而不需要所有 Restangular 方法。只是一个普通的 JS 对象。

我在文档中找不到任何方法来执行此操作。每次我对返回的用户使用方法时,它总是 returns 一个带有 Restangular 方法的包装对象。

我猜你正在寻找 'plain()'(Restangular.stripRestangular(elem) 的别名)。

plain(): Returns the plain element received from the server without any of the enhanced methods from Restangular. It's an alias to calling Restangular.stripRestangular(elem)

它去除了所有 restangular 方法和 returns 服务器返回的普通对象。

更多信息请参考以下link:

https://github.com/mgonto/restangular#element-methods

以下 fiddle 可能有帮助:

Fiddle ::http://plnkr.co/edit/oMFnYM4HkaFK3biscpTo?p=preview