我目前正在编写我的第一个Angular 2应用程序。 我有具有以下简单的模板的OverviewComponent:角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>
访问到/overview
网址/
我的路由器重定向我然后加载路由器,出口内的地图时。 有一个可点击的项目列表,触发一个<app-detail>
而不是应用程序组件。因此,我在URL中传递引用的json文件的id:/details/:id
(在我的路线中)。
上述所有工作完全正常的。如果我现在点击其中一个列表项目,将显示详细信息,但是当我选择另一个列表元素时,视图不会更改为新的详细信息。网址确实发生了变化,但内容未重新加载。我如何实现DetailComponent的重新初始化?
虽然这是一个建议的解决方案,但我遇到的问题是我的组件(具有上面的代码实现)在路由更改后加载,因此此承诺中的代码未被解雇 –
您是否可以共享代码段为了我明白? – gpanagopoulos
这是迄今为止更优雅和angulary的解决方案,虽然我宁愿更换'resetComponentState()'通过一个更广义的'initialize'函数,这个函数在组件被创建或参数改变时被调用。 – hGen