0

我正在开发一个 Angular 7 应用程序。我正在尝试将数据从子组件发送到父组件,因为我正在使用带有 EventEmitter 的 @Output 装饰器。

 @Output() token:EventEmitter<any> = new EventEmitter<any>();

我收到错误:

src/app/header/header.component.ts(96,6) 中的错误:错误 TS2322:类型“字符串”不可分配给类型“EventEmitter”。

在这里,我试图发送价值:

token == eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOiI1MmYzZWEyMC0yMDQzLTQ5MjQtODg3Ny0yNTAzZTZkOTZmNTEiLCJleHAiOjE1ODE2NzQ4OTcsImlzcyI6Ik1hZ2ljTWluZCIsImF1ZCI6Ik1hZ2ljTWluZCJ9.DMcMPgM0B2hZRR-qSIQyIG9SDt_q_G9WON3ZtRXX78I
4

2 回答 2

0
@Output() token: EventEmitter<string> = new EventEmitter<string>(); Initialize :

this.token.emit(tokenValue); // emit the value to the parent

而且,在父 .HTML 中,您需要捕获事件:

<child (token)="tokenEvent($event)"></child>
于 2019-02-14T11:02:03.860 回答
0

仅当您发出值时,父级才会收到令牌事件

this.token.emit(tokenValue);

而且,在父母身上,您需要执行以下操作:

<child (token)="handleToken($event)"></child>

使用示例:https ://angular.io/api/core/EventEmitter#usage-notes

于 2019-02-14T11:20:17.780 回答