【发布时间】:2015-05-07 13:28:59
【问题描述】:
我有两个 JSON 对象的问题。 我通过 JSON 获得我的视图,当我更新我的网站时,我只想显示更改,而不是再次渲染整个网站。
我的意思是,当我第一次加载我的网页时,我得到一个 JSON 对象,类似这样:
{
"WindowObject": {
"name": "test",
"type": "container",
"children": [
{
"name": "childOne",
"type": "string"
}
]
}
}
当我按下按钮时,我会得到一个新的 JSON 对象,其中包含更新的视图,例如:
{
"WindowObject": {
"name": "test",
"type": "container",
"children": [
{
"name": "childOne",
"type": "input"
},
{
"name": "childTwo",
"type": "string"
}
]
}
}
我使用 AngularJS 指令渲染这些信息,并且效果很好。但问题是,整个网站再次使用“新”对象呈现,而不是仅仅更改新内容。
所以现在我想在旧数组中“集成”或“区分”新数组,以便再次呈现更改后的内容。
有人有想法吗?
【问题讨论】:
-
试试
$.extend(oldJson, newJson)- api.jquery.com/jquery.extend - 像这样,旧的json随着新的变化而更新。 -
当您的 Json 模型发生变化时,您可以在该指令中使用 d3.js 来创建、更新和删除 DOM 元素。 It is explained here
-
这与 JSON 本身无关。你想“区分”一个 DOM 树。
-
@ErikWillems Angular 在正确使用时已经做到了……为什么还需要另一个库呢?
-
@Griessbrei 您的最后一条评论表明您实质上是通过每个操作重新生成 JSON 以表示整个应用程序状态,这似乎是一个非常糟糕的设计。
标签: javascript jquery json angularjs