加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – ngResource解析嵌套资源

发布时间:2020-12-17 08:51:06 所属栏目:安全 来源:网络整理
导读:有什么选项可以解析ngResource响应中的嵌套资源? 关于在ngResource中解析嵌套资源的端点存在一些相关的问题,但是这个问题是关于何时REST响应包含嵌套在正在查询的集合中的第二个资源,特别是1到1的映射,你不会有例如宠物/ id / owner作为自己的资源. 假设有
有什么选项可以解析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(),而不仅仅是所有者;如果您希望能够保存模型,可能还有setOwner).

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读