Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.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
Angularjs:RESTAPI如何仅使用更改的内容刷新json数据(ivh树)_Json_Angularjs_Rest_Tree - Fatal编程技术网

Angularjs:RESTAPI如何仅使用更改的内容刷新json数据(ivh树)

Angularjs:RESTAPI如何仅使用更改的内容刷新json数据(ivh树),json,angularjs,rest,tree,Json,Angularjs,Rest,Tree,我有一个RESTAPI调用,它以树格式获取JSON数据 现在,我将其存储在范围变量$scope.treeData[] 这是连接到ivh树的 现在,我使用interval每60秒更新一次数据 问题是: 在scope变量中获取并替换新数据的那一刻,树的所有属性都将丢失,并将其重新初始化为默认值(尽管新数据存在)。 通过属性,我的意思是,复选框选择或节点扩展等。 树将刷新为基本的最小未展开格式 那么,是否有一种方法可以只使用更改的数据更新现有的范围变量,即添加新节点或删除现有节点或更改某些属性 或者是

我有一个RESTAPI调用,它以树格式获取JSON数据

现在,我将其存储在范围变量$scope.treeData[]

这是连接到ivh树的

现在,我使用interval每60秒更新一次数据

问题是: 在scope变量中获取并替换新数据的那一刻,树的所有属性都将丢失,并将其重新初始化为默认值(尽管新数据存在)。 通过属性,我的意思是,复选框选择或节点扩展等。 树将刷新为基本的最小未展开格式

那么,是否有一种方法可以只使用更改的数据更新现有的范围变量,即添加新节点或删除现有节点或更改某些属性

或者是否有我可以使用的树小部件。
很难找到至少在数据更新时保留树状态的树的角度组件要添加新节点,您可以使用angular.merge:

angular.merge($scope.treeData, json.treeData)
不过,您仍然需要手动删除这些元素


我应该补充一点,这仅在angular 1.4中受支持,似乎关键工作已被替换。指令的API具有添加节点的方法。将这样做,而不是替换Hi charlie。。。。我从来没有使用过这棵树,但是它解释了如何在文档中添加节点