#angular9
#angular9
Вопрос:
Можем ли мы предотвратить уничтожение компонентов в подобной ситуации. Допустим, компонент показан с использованием *ngif=»условие». Когда это верно, компонент отображается на экране, но когда это не так, компонент удаляется с экрана и запускается его ngOnDestroy.
Есть ли какой-либо способ обойти эту проблему?
Спасибо
Комментарии:
1. используйте [hidden]=»!someCondition» но в большинстве случаев это антишаблон, потому что вы каким-то образом пытаетесь сохранить состояние там, где не должны
2. Пока я попробую ваше предложение, можете ли вы объяснить, почему это анти-шаблон? В документах Angular ngif четко объяснен как хороший подход.
3. Также кажется, что скрытые результаты оцениваются только один раз, привязка данных не будет работать. Вот почему ngif лучше работает с реальными данными, когда данные извлекаются с сервера.
4. ngIf — хороший подход, но компонент будет уничтожен. Ваш вопрос заключался в том, как предотвратить уничтожение. Или, ну, неявно вы назвали уничтожение проблемой. Привязка данных — это другая тема, которая напрямую не связана с уничтожением компонентов. Вероятно, вы передаете переменные, и без их наблюдения или реализации изменений интерфейса onChanges изменения не будут обнаружены.