Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 只修补已更改值的JS持久性库_Javascript_Angularjs_Rest_Restangular_Ngresource - Fatal编程技术网

Javascript 只修补已更改值的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

我正在评估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
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开发丰富的数据模型,看起来很棒: