我有一个看起来像这样的 Angular 范围:
{
node_type: 100, node_instance: 001, value: 'pony', show: true, childNodes: {
node_type: 100, node_instance: 011, value: 'cat', show: false, childNodes: {
node_type: 101: node_instance: 001, value: 'apple'show: true,
}
node_type: 100: node_instance: 012, value: 'kitty', show: true,
node_type: 100: node_instance: 013, value: 'meow', show: true,
}
node_type: 100, node_instance: 002, value: 'horse', show: true, childNodes: {
node_type: 102: node_instance: 001, value: 'dog', show: false,
node_type: 100: node_instance: 014, value: 'mutt', show: true,
}
}
它显然比这更深更复杂。
在进行各种操作后(例如,将“mutt”更改为“Fido”),我的服务器将返回一组新更新的、看似无关的数据,例如……</p>
{ node_type:101, node_instance:001, show:false }
我找到了各种遍历范围以找到 101,001 节点的方法,但它们都涉及将范围节点的副本发送到遍历函数,更新副本中的属性是毫无价值的。如何告诉函数更新正确地址的范围,或通过引用更新节点属性?
(或者解决方案是否像在 DOM 中设置 data="show" 属性,在 Angular 之外更新 DOM,然后设置 scope.apply() 请求一样愚蠢?我运气不好 scope.apply() …)