使用“路由”时,使用EventEmitter在组件之间传递数据

时间:2018-07-29 12:43:01

标签: angular angular5 angular6

问题是,当使用“路由”从父组件导航到子组件时,是否有可能以及如何使用EventEmitter(@ Output,@ Input)在组件之间传递数据。

例如,如果我不使用下面的“路由”,则完全可行。

<div class="container">
    <h1>RSVP</h1>
    <div class="row">
        <div class="col-lg-6">
            <app-events (eventClicked)="childEventClicked($event)"></app-events>
        </div>
        <div class="col-lg-6">
            <app-event-details [event]="clickedEvent"></app-event-details>
        </div>
    </div>
</div>

但是,如果我需要使用“路由”导航导航到AppEventsComponent(应用程序事件)或AppEventDetailsComponent(应用程序事件详细信息),怎么可能?

2 个答案:

答案 0 :(得分:0)

您可以使用本地存储将数据从一个组件传递到另一个组件,例如 设置本地存储

  

localStorage.setItem(“ lastname”,“ Smith”);

,您可以使用

在其他组件中接收该值
  

localStorage.getItem(“ lastname”);

以及其他可以在路由器参数中传递值然后调用api以获得相同数据的方法

答案 1 :(得分:0)

我想我与此Angular: Passing data or events from child to parent with router-outlet一样 因此,对我来说更方便的是使用服务。