gpt4 book ai didi

angular - 如何在 Angular2 的路由器导出中发出事件

转载 作者:太空狗 更新时间:2023-10-29 17:22:13 26 4
gpt4 key购买 nike

我有主要的 appComponent

<div class="appComponent">
<div class="row nav navbar">
<div class="col-sm-8 text-left nav logo">Manacola</div>
<button class="col-sm-1 col-sm-offset-1 btn btn-primary openGraph" (click)="openGraph()">Graph</button>
<button class="col-sm-1 btn btn-primary openGraph" *ngIf="loggedIn" (click)="logout()">Logout</button>
</div>
<router-outlet ></router-outlet>

我想从另一个登录组件发出数据。重点是,当我在 loginComponent 中按下“登录”按钮时,我希望在 appComponent 中将 *ngIf="loggedIn" 设置为“true” .有这样的工作会很好:

<router-outlet (isLogged) = 'loggedIn = $event' ></router-outlet>   

最佳答案

您可以在路由器导出处渲染的组件中定义一个@Output 事件发射器。定义路由器导出如下。

*.html
<router-outlet (activate)="onActivate($event)"></router-outlet>

在您的组件中,您可以这样做。

onActivate(elementRef) {
elementRef.<the @Output eventEmitter>.subscribe(event => {
console.log(event);
});
}

通过这种方式,您可以将事件发送到正在渲染路由器导出的组件。这是可行的,因为@Output 事件发射器是事件流,您可以订阅这些事件。

关于angular - 如何在 Angular2 的路由器导出中发出事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38393494/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com