Angular2 +:从路由器出口组件外部刷新路由器插座组件数据

时间:2017-07-17 14:19:24

标签: angular typescript2.0 router-outlet

<div><SearchProjects></SearchProjects></div>
<div>
    <router-outlet></router-outlet>
</div>

每当我根据需要更新路由器插座组件数据的数据来更改搜索内容时。

在第一次路由时我使用共享服务共享数据,但它不起作用,因为在init调用时只有一次。对于相同路由的下一个数据,它将无法工作。

我需要在常量搜索组件和更改路由器(路由器插座)组件之间共享数据。对于相同的路由,有时需要渲染两个不同的数据。

3 个答案:

答案 0 :(得分:0)

使您的服务中的共享数据成为可以像可观察者一样订阅的主题。使用subject.next(value)时,将更新所有观察者。您可以在使用共享服务的组件中的onInit函数中订阅该主题。

答案 1 :(得分:0)

仅在app.modules.ts使用服务提供商

答案 2 :(得分:0)

   constructor(route:ActivatedRoute){
      route.params.subscribe(val=>{ 
       //    add to do function()
      })
   }

需要注入“ActivatedRoute”并订阅参数

路由仅在导航到其他路径时销毁并重新创建组件。当只更新路由参数或查询参数但路由相同时,组件不会被销毁和重新创建。