treeModel.update не работает внутри ngOnInit - PullRequest
0 голосов
/ 18 февраля 2019

У меня очень большая структура данных, которую я загружаю в угловой компонент дерева.Поскольку это очень большое дерево, пользовательский интерфейс не отвечает, я хотел, чтобы дерево было построено «часть за частью» и отображалось в пользовательском интерфейсе.Затем пользователь понимает, что что-то еще происходит.Поэтому каждый раз, когда у меня появляется новый «базовый узел», я хочу добавить его и обновлять пользовательский интерфейс, пока создаю модель в ngOnInit.

Однако он не реагирует таким образом.Он обновляется только один раз после считывания всего дерева. Есть ли какая-то причина, по которой treeModel.update или вообще все обновления пользовательского интерфейса подавляются в ngOnInit до его завершения?В основном мой код:

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 */ }
  }
...