Typescript - остановить уничтожение компонента - PullRequest
0 голосов
/ 05 июня 2018

У меня есть угловое приложение с двумя основными компонентами (назовем их comp A и Comp B). В любой момент времени происходит инициализация случайного числа As и B.Каждый компонент имеет свою собственную переменную «data», которую он получает после инициализации.

Я хочу реализовать способ проверки в момент уничтожения компонента, изменились ли «data» по сравнению с его начальным значением.Если да, я хочу проинформировать пользователя и дать ему 2 варианта: оставить страницу без сохранения или остаться на странице.

В качестве решения я сделал копию исходных «данных» и планирую:проверьте, при уничтожении компонента, изменились ли данные, в конечном итоге остановив уничтожение компонента.

Вопрос: есть ли способ остановить уничтожение компонента?

Я знаю, что у меня есть возможность использовать canDeactivate guard. Я не могу использовать это, поскольку компоненты могут не инициализироваться из маршрута маршрута.

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Вы можете использовать Route guards в Angular Application для защиты угловых маршрутов.

canDeactive охранник маршрута будет вызываться каждый раз, когда вы пытаетесь изменить свой угловой маршрут, и предотвращает изменение маршрута, если он возвращает false.

Вы можете следовать этой статье, чтобы создать Route guards

Can Activate and Can Activate Child Защита маршрута

Can Deactivate Защита маршрута

0 голосов
/ 05 июня 2018

компонент-до уничтожения является предлагаемым дополнением к угловому.https://github.com/angular/angular/issues/20713

Прилагается обходной путь, использующий метапрограммирование и асинхронное / ожидание.

Before Destroy

...