JS Persistence库将PATCH仅更改值

时间:2014-02-20 20:49:10

标签: javascript angularjs rest restangular ngresource

我正在评估JS持久性库。我在Angular堆栈上,因此ngResource和Restangular是选项,但Breeze和Backbone的模型/集合也是如此,我对其他人开放。

是否有一个JS持久性库,它将监视模型的更改并仅对已更改的属性执行PATCH

示例:

// Get a pretend user with a name, email, and some other stuff.
var currentUser = user.get(42)
// Change only the email address
currentUser.email = 'tractorDaddy@aol.com'
// Save changes
// The model could know that only one property has changed.
// The model could do a PATCH of a partial object, but I don't know a library that does.
currentUser.save() 

这似乎应该是默认实现,但这些库都没有,我可以看到。

Backbone的模型根据模型的新颖性决定是POST还是PUT(由我记忆的id的存在决定)。我认为这是一个很好的举措,可以扩展到包括PATCH

我理解Restangular和其他人有.patch()方法,但我相信在所有情况下你都必须明确指定对象部分。

有没有这样做的图书馆?

1 个答案:

答案 0 :(得分:0)

我认为现有的JS模型/持久层不会跟踪,而PATCH只会更改值。

我对AngularJS 2.0的数据层寄予厚望:http://tinyurl.com/pa7rxf8