【发布时间】:2019-05-19 20:43:32
【问题描述】:
你能从组件本身检查组件实例的存在吗?
你可以销毁现有实例并创建一个新实例吗?
我的一个组件似乎有问题。当使用不同的参数连续多次访问时,组件的 ngAfterViewInit 仅在第一次触发(我假设组件被实例化时)。 后续访问不会导致触发 ngAfterViewInit, 即,看起来好像它正在重用相同的组件实例或其他东西......但是,我可以识别参数并使用更改的参数做必要的事情......
但是,如果我访问一条新路线并返回到有问题的路线/组件,它会正常工作。我可以看到它在新路由和相应组件启动之前就被破坏了。
我的目标是每次访问路线时都重新启用组件。
所以
你能从组件本身检查组件实例的存在吗?
你能从代码中销毁现有实例并创建一个新实例吗?
或者有没有其他方法可以解决这个问题。
我的设置
延迟加载模块 -> mdm
const routes: Routes = [
{
path: '',
component: HomeComponent,
children : [
{ path: ':id' , component : AComponent }
]
}
菜单锚链接
- mdm/1000
- mdm/2000 等等等等
【问题讨论】:
标签: angular angular-lifecycle-hooks