首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >与ngResource相比,使用Restangular有什么优势?

与ngResource相比,使用Restangular有什么优势?
EN

Stack Overflow用户
提问于 2013-05-15 07:48:51
回答 5查看 39.3K关注 0票数 134

ngResource看起来已经很容易实现了……

与相比,使用有哪些优点/缺点

1.1.3 $resource将返回promises,可以使用实现。未来是否会为$resource提供支持,以支持Restangular所做的其他动词?如果发生这种情况,Restangular似乎会消失,变得无依无靠。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-05-24 05:55:30

我是Restangular的创建者。

我已经创建了一个关于自述文件的部分,其中包含与$resource的区别。你可以在这里查看https://github.com/mgonto/restangular/blob/master/README.md#differences-with-resource

总之,总而言之,除了额外的功能和基于promise的方法之外,这个想法是Restangular还可以处理你所有的URL,所以你不需要知道任何关于它们的事情。

假设您有这样的汽车:/users/123/car/456

在$resource中,您必须手动构造URL,还必须为此手动构造$resource对象。Restangular通过“记住”URL来帮助你做到这一点。

所以如果你在某个地方这样做

代码语言:javascript
复制
Restangular.one("users", 123).get().then(function(user) {
  $scope.user = user;
});

// Some other code

//Automatically does the request to /users/123/cars as it remembers in which object you're asking it.
$scope.user.getList('cars')

希望这能有所帮助!

票数 232
EN

Stack Overflow用户

发布于 2013-12-04 20:26:27

我发现Restangular的RequestInterceptor非常方便,可以在发出请求之前从对象中删除一些字段。我目前使用的大多数REST webservices都不期望对象数据中的id出现在PUT请求中,而只是在url中。通常,他们不会期望不能通过PUT更新的额外数据字段(比如id,或者通过设置title等生成的slug )。虽然我还没有想出如何用$resource以一种干净的方式做到这一点,但我发现这在Restangular中是很简单的,但我相信这是可能的。

显然,您也可以将webservice更改为忽略这些额外的字段,但这并不总是可行的。

票数 8
EN

Stack Overflow用户

发布于 2013-05-15 08:05:06

在最新的稳定版本(当前为1.0.6)中,ngResource不返回承诺。此外,它看起来比ngResource公开了更多的动词(它公开了PUT,OPTIONS,PATCH等)。

如果你不需要额外的动词,并且正在使用AngularJS的不稳定分支(包括对ngResource的承诺),我看不出有任何主要的理由在ngResource上使用Restangular。

使用任何你觉得舒服的东西。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16554580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档