Angular 使用路由时使用EventEmitter在组件之间传递数据

Angular 使用路由时使用EventEmitter在组件之间传递数据,angular,angular5,angular6,Angular,Angular5,Angular6,问题是当路由用于从父组件导航到子组件时,是否可能以及如何使用EventEmitter(@Output,@Input)在组件之间传递数据 例如,如果我不使用下面这样的路由,这是完全可行的 <div class="container"> <h1>RSVP</h1> <div class="row"> <div class="col-lg-6"> <app-events (even

问题是当路由用于从父组件导航到子组件时,是否可能以及如何使用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(应用程序事件详细信息),这怎么可能呢?

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

setItem(“lastname”、“Smith”)

您可以在其他组件中使用

localStorage.getItem(“lastname”)


另一种方法是在路由器参数中传递值,然后调用api来获得相同的数据,我想我对这个问题也有同样的要求
所以,对我来说更方便的是使用服务。

我相信你必须使用服务否。在这种情况下,您将在详细信息URL中传递单击事件的ID,详细信息组件将使用URL中的ID(从ActivateRoute获得)从服务器获取详细信息。您可以使用解析程序