use*_*112 7 angular2-routing angular
我有一个Angular2应用程序,其路径如下:
{
path: '',
component: ContentComponent,
children: [
{
path: 'folder/:folderId',
resolve: {
currentFolder: CurrentFolderResolver,
},
children: [
{
path: '',
resolve: {
folderStructure: FolderStructureResolve,
},
component: FolderOverviewComponent,
},
{
path: 'users',
component: UsersComponent,
}
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
当从路径导航等/文件夹/ 123到/文件夹/ 456,角不会触发ngOnDestroy()在FolderOverviewComponent.导航到/ folder/456/users会这样做.
换句话说,如果路径没有改变,似乎Angular不会破坏组件(忽略:folderId的动态部分).这似乎是合理的,但我需要清理一下ngOnDestroy().
每次导航到新路由(即使用不同的参数)时,是否可以将路由配置为调用destroy?
那是设计使然。如果仅更改路由参数导致使用相同的路由,则该组件不会被销毁和重新创建,而是可以重用。
您可以订阅params更改,以便在更改路线时执行代码:
constructor(router: ActivatedRoute) {
router.params.subscribe(param => routeChanged(param['folderId']));
}
Run Code Online (Sandbox Code Playgroud)
有计划在将来提供更大的灵活性,但是目前这是要走的路。
另请参阅https://angular.io/guide/router#activated-route-in-action
| 归档时间: |
|
| 查看次数: |
2639 次 |
| 最近记录: |