gpt4 book ai didi

angular - 当同一组件加载不同数据时不调用 ngOnInit

转载 作者:太空狗 更新时间:2023-10-29 17:08:42 27 4
gpt4 key购买 nike

我有一个 Angular 2 应用程序,我使用路由器在 View 之间导航,就像其他人一样。以下是我的特定组件的路径:

{
path: 'home/view1/:viewID',
component: ViewComponent,
children: [
{ path: 'pane/:paneId/section/:sectionId', component: SectionEditComponent },
{ path: '**', component: ViewEditComponent }
]
},

现在,我在 ViewComponent 上有两个按钮,用于为 section1 和 section2 加载 SectionEditComponent。

路径1: Pane /1/节/1
Path2: pane/1/section/2

View 组件模板:

   <div class="col-md-8" style="background-color: white; height: 100%">
<button (click)="loadPath(1)">Path1</button>
<button (click)="loadPath(2)">Path2</button>
<router-outlet></router-outlet>
</div>

现在,当我在同一个 ViewComponent 中从 Path1->Path2 或 Path2->Path1 导航时,不会调用 ngOnInit(),因此不会加载新路径,即使 url 实际上根据新的部分 ID 发生了变化。

这是已知或预期的行为吗?我做错了什么吗?

最佳答案

注入(inject)路由并订阅参数变化

constructor(route:ActivatedRoute) {
route.params.forEach(params => {
myInit(params['paramId']);
});
}

关于angular - 当同一组件加载不同数据时不调用 ngOnInit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39962857/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com