【发布时间】:2018-01-18 21:55:26
【问题描述】:
我目前有一个路径设置如下的路由器:
{path: "application/:id", component: ApplicationComponent}
我使用 ngFor 循环生成链接菜单。它使用索引生成一个动态的routerLink:
routerLink="application/{{index}}"
单击后,它会转到正确的 URL,并使用我的 ApplicationComponent 的 ngOnInit 方法来获取 url 中的索引并将特定对象从单独的类中的数组中拉出。
但是它只适用于您点击的第一个链接。如果我单击链接 1,它会使用对象 1 的数据正确加载页面。但是,当我单击链接 2 时,它会转到 url 中的 application/2,但会保持对象 1s 的信息。如果我刷新页面并单击链接 2,则会显示对象 2 的信息,因此我知道它正确地从数组中拉出。
我怀疑一旦单击任何链接,ApplicationComponent 使用 ngOnInit 方法来制作组件,然后如果单击另一个,则不会调用此方法,因此不会更新变量。
我该如何解决这个问题?我需要应用程序组件知道我已经到了一个新的子链接,以便它可以再次调用 ngOnInit
【问题讨论】:
标签: javascript html angular angular-ui-router query-parameters