#angular
#angular
Вопрос:
У меня есть компонент, который принимает URL пользователя, а затем захватывает некоторые файлы на основе этого URL. Затем на основе этих файлов я создаю некоторые переменные, добавляя имена файлов друг к другу. Моя проблема в том, что каждый раз, когда отображается компонент, данные за предыдущий раз, когда компонент был показан, все еще присутствуют.
Например, если приложение запускается с переменной, установленной в и пустой строкой, а текст, добавленный к ней, равен ‘/ new / file’, я могу перейти к другому компоненту, а затем вернуться к тому же URL, и эта переменная будет ‘/new /file /new /file’, поскольку предыдущие данные были сохранены и действия выполнены снова.
У меня создалось впечатление, что ngOnInit выполнялся каждый раз, когда загружался компонент. Похоже, что это не так, поскольку переменные не сбрасываются. Какой перехват жизненного цикла или другой метод можно использовать для сброса переменных каждый раз, когда компонент становится активным?
ngOnInit(): void {
this.filePath = ''; // does not reset the variable to an empty string when component is active
this.heirarchy = []; // does not reset the array each time the component is made active
Ответ №1:
Вы используете ngOnChanges для этой ссылки, но тот факт, что она не сбрасывается, означает, что компонент не был уничтожен.
Комментарии:
1. Я думал, что компонент был уничтожен, когда вы перешли к другому компоненту?
2. Да, это должно быть так, но я не знаю, как структурирован ваш проект, вы переходите к разным маршрутам и т.д.