我有一个Angular2应用程序,其路线如下:
{
path: '',
component: ContentComponent,
children: [
{
path: 'folder/:folderId',
resolve: {
currentFolder: CurrentFolderResolver,
},
children: [
{
path: '',
resolve: {
folderStructure: FolderStructureResolve,
},
component: FolderOverviewComponent,
},
{
path: 'users',
component: UsersComponent,
}
]
}
]
}
从 / folder / 123 等路线导航到 / folder / 456 时,Angular不会在ngOnDestroy()
中触发FolderOverviewComponent
。导航到 / folder / 456 / users 即可。
换句话说,如果路径没有改变(忽略:folderId 的动态部分),似乎Angular不会破坏组件。这似乎是合理的,但我需要清理ngOnDestroy()
中的内容。
每次导航到新路线(即使用不同的参数)时,是否可以将路由配置为调用destroy?
答案 0 :(得分:5)
这是设计的。如果只有路径参数发生变化而导致使用相同的路径,则不会销毁和重新创建组件,但会重复使用。
您可以订阅* {
-webkit-overflow-scrolling: touch;
}
更改,以便在路线更改时执行代码:
params
有计划在未来提供更多灵活性,但目前这是可行的方法。