我目前正在编写我的第一个 Angular 2 应用程序。
我有一个概述组件,它具有以下简单模板:
<div class="row">
<div class="col-lg-8">
<router-outlet></router-outlet>
</div>
<div class="col-lg-4">
<app-list></app-list>
</div>
</div>
当访问url时/
我的路由器将我重定向到/overview
然后在路由器出口中加载地图。这<app-list>
有一个可点击项目的列表,该列表会触发<app-detail>
显示而不是应用程序组件。因此,我在 url 中传递引用 json 文件的 id,如下所示:/details/:id
(在我的路线中)。
以上所有工作都完全正常。如果我现在单击其中一个列表项,则会显示详细信息,但是当我选择另一个列表元素时,视图不会更改为新的详细信息。 URL 确实发生了变化,但内容并未重新加载。如何实现 DetailComponent 的重新初始化?
您可以直接在组件级别更改routeReuseStrategy:
constructor(private router: Router) {
// force route reload whenever params change;
this.router.routeReuseStrategy.shouldReuseRoute = () => false;
}
同样,重用策略可以全局更改。
这不一定能直接解决您的问题,但看看这个问题是如何成为“的第一个搜索结果”如果查询参数更改,角度 2 重新加载 url“这可能会让下一个人免于挖掘 github 问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)