Pet*_*ert 7 javascript synchronization angularjs
我想同步数据,因此我有一个包含当前状态的数据对象.当这个改变时,我想在对象上设置一个属性,以便我可以在同步时通过它进行过滤.对象结构是:
data = {
type1: [
{a:"a", b:"b"},...
]
type2: [
{c:"c", d:"d"},...
]
}
Run Code Online (Sandbox Code Playgroud)
例如,如果data.type1 [0] .a ="test"将完成,我想将modified:true添加到对象,以便它将是
{a:"test", b:"b", modified:true}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过$ watch(data,function(),true)但是我找不到如何看到哪个对象被更改并且搜索给定的数据对象将是一个很大的开销.$ watchcollection(只是在寻找添加/删除时)也没有给出索引.
有没有办法找出哪个对象被改变了?或者是否有其他图书馆可以很好地做到这一点?
谢谢
编辑:
我创建了一个jsfiddle:https://jsfiddle.net/yfo8xwah/
虽然这是一个愚蠢的解决方法,但您可以做的是在数据对象中保留一个方法,例如:
data = {type1 : {}, type2 : {}, ... , checkModification : function (field)
{data[field].modified = true; return data[field];}}
Run Code Online (Sandbox Code Playgroud)
现在您可以分配像这样的任何对象 data.checkModification('type1').a = "test" 这可能会给您满意的结果。