angularjs – ngResource解析嵌套资源

前端之家收集整理的这篇文章主要介绍了angularjs – ngResource解析嵌套资源前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有什么选项可以解析ngResource响应中的嵌套资源?

关于在ngResource中解析嵌套资源的端点存在一些相关的问题,但是这个问题是关于何时REST响应包含嵌套在正在查询的集合中的第二个资源,特别是1到1的映射,你不会有例如宠物/< id> / owner作为自己的资源.

假设有两种资源,宠物和主人:

GET /宠物:

[{
  name: 'spark',type: 'dog',owner: '/owners/3/' # alternatively just '3' or the full object.
}]

作为开发人员,我有时想要查询所有者资源,有时我想查询Pet资源,然后我自动想要将owner属性解析为资源实例.

这是我目前的解决方案:

.factory('Pet',function ($resource,Owner) {
  var Pet = $resource('/pets/:id',{id: '@id'});

  Pet.prototype.getOwner = function () {
    return new Owner(this.owner); // or Owner.get({id: this.owner})
  }

  return Pet;
})

这里的问题很多.有诚信 – 一个人.我相信,这种实现允许同一资源的多个实例.那就是实用性.您还有其他属性可以跟踪(owner和getOwner(),而不仅仅是所有者;如果您希望能够@R_680_301@,可能还有setOwner).

可以在transformResponse上构建替代解决方案,但是在每个具有嵌套映射的资源中都包含该解决方案.

我相信这就是Martin Gontovnikas创造Restangular的原因.他不喜欢在主角度框架中处理嵌套的$资源.我认为他的Restangular解决方案可以很好地满足您的需求.他的代码在GitHub here上,他在youtube here上有一个很好的介绍视频.

看看这个.我想你会发现它完全符合你的要求.

猜你在找的Angularjs相关文章