Angular 当组件处于活动状态时重置组件变量

Angular 当组件处于活动状态时重置组件变量,angular,Angular,我有一个组件,它获取用户的URL,然后根据该URL获取一些文件。在这些文件的基础上,我通过相互追加文件名来创建一些变量。我的问题是,每次显示组件时,上一次显示组件时的数据仍然存在 例如,如果应用程序启动时变量设置为且字符串为空,并且附加的文本为“/new/file”,我可以导航到另一个组件,然后返回到同一url,该变量将为“/new/file/new/file”,因为先前的数据被保留,并且再次执行操作 我的印象是,每次加载组件时都会执行ngOnInit。情况似乎并非如此,因为变量没有重置。每次激

我有一个组件,它获取用户的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

您可以使用ngOnChanges,但它没有重置这一事实意味着该组件没有被销毁。

我认为当您导航到另一个组件时,该组件被销毁了?是的,应该是这样,但我不知道您的项目是如何构造的,您是否导航到不同的路径等。