Как сохранить состояние пользовательского интерфейса при изменении модели в angular2?
=====================================================================================

Каков наилучший способ поддерживать состояние пользовательского интерфейса в angular2? В настоящее время у меня проблемы в рамках одного компонента.

поэтому я пытаюсь поддерживать класс с помощью ngif, но не знаю, как поставить это условие, чтобы изменить класс на ngif.

и есть ли другой способ сохранить состояние в angular2? Тем не менее, я даже пытался использовать наблюдаемые сервисы, но данные появляются первыми, а потом отображаются, поэтому не работают, есть ли функция, которую я могу вызвать onviewupdate complete и т. д. ??

**ОБНОВИТЬ**

мой наблюдаемый сервис

мой HTML

и моя функция обратного вызова

поэтому, когда новые данные доступны, я не хочу, чтобы весь HTML отображался просто`<ul class="collection">` поскольку`<div class="collapsible-header"` будет класс`active` когда пользователь открыл его. но при изменении модели, то есть доступны обновленные данные, все сбрасывается. так как я могу управлять этим состоянием? Если вам нужно больше деталей, пожалуйста, дайте мне знать. Я следил за этой статьей<http://blog.thoughtram.io/angular/2016/02/22/angular-2-change-detection-explained.html> но это не работает в моем случае, или я делаю что-то не так, не знаю.

Шаблон, который мы использовали на моей работе, заключается в наличии публичной переменной, которая указывает, загружены ли данные. Давайте назовем это isLoaded. isLoaded инициализируется как false, и устанавливается в true, когда данные поступают из вашей наблюдаемой службы. В вашей HTML-разметке используйте * ngIf, чтобы показывать данные только после того, как isLoaded имеет значение true.

На моей работе мы также показываем анимированный компонент загрузчика, когда isLoaded имеет значение false, чтобы пользователь знал, что система ожидает чего-то, но это становится немного причудливым.

Чтобы реализовать этот подход в своем коде, вы должны сделать что-то вроде:

HTML: