我有一个非常大的数据结构,正在装入一个角度树组件中。因为它是一棵非常大的树,所以UI没有响应,我想让树“一分为二”地构建并在UI中显示。然后,用户会得到一些想法仍在发生。因此,每当我有一个新的“基础节点”时,我都想添加它,并在ngOnInit中构建模型时更新UI。
但是它不会那样反应。它在整个树被读入后仅更新一次。是否有某些原因为什么要在ngOnInit中压制treeModel.update或一般所有UI更新,直到完成?基本上我的代码是:
var testNodes = getTheFilterTreeNodes();
for (let node of testNodes)
{
this.testWithSleepFor(1000);
this.treeNodes.push(node);
this.tree.treeModel.update();
}
testWithSleepFor(sleepDuration)
{ //just for testing
var now = new Date().getTime();
while (new Date().getTime() < now + sleepDuration) { /* do nothing */ }
}