Javascript 只修补已更改值的JS持久性库
我正在评估JS持久性库。我在角度堆栈上,所以ngResource和Restangular是选项,而Breeze和Backbone的模型/集合也是选项,我向其他人开放 是否有一个JS持久性库可以监控模型的更改,并只对更改的属性进行Javascript 只修补已更改值的JS持久性库,javascript,angularjs,rest,restangular,ngresource,Javascript,Angularjs,Rest,Restangular,Ngresource,我正在评估JS持久性库。我在角度堆栈上,所以ngResource和Restangular是选项,而Breeze和Backbone的模型/集合也是选项,我向其他人开放 是否有一个JS持久性库可以监控模型的更改,并只对更改的属性进行修补 例如: // Get a pretend user with a name, email, and some other stuff. var currentUser = user.get(42) // Change only the email address c
修补
例如:
// 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()
这似乎应该是默认的实现,但我可以看到,这些库都没有这样做
主干网的模型根据模型的新性决定是发布还是放置(我记得,由id的存在决定)。我认为这是一个很好的举措,可以扩展到包括补丁
我知道Restangular和其他人有一个.patch()
方法,但我相信在所有情况下都必须显式指定对象partial
有这样的库吗?我认为没有现有的JS模型/持久性层可以跟踪和补丁
只更改值
我对AngularJS 2.0的数据层寄予厚望:你最终使用了什么?@JHicks:我选择了restangular。我想我不会再做同样的决定了。它提供的价值并不超过必须从抽象的角度来思考。(例如:“好的,我想发布到api/users/7/preferences
,我该如何在restanglar中编写它呢?)针对需要精简补丁的对象(因为它们需要大量的插件),我自己做差异。POST
和PUT
之间的差异我也需要跟踪。情况并不理想。Angular团队正在为2.0开发丰富的数据模型,看起来很棒: