【发布时间】:2020-08-25 01:54:24
【问题描述】:
我有四个产品值(A、B、C、D)(在标签之间)。 我创建了一个有角度的子组件,我想在用户单击时使用 EventEmitter.emit 将一个好的值(A 或 B 或 Cor D)传递给父组件,但我不能。我总是发送第一个值 A。 这是我的角码
component.html
<table>
<thead>
<th><a #ca [attr.data-cat]="alax" (click)="getName(ca.dataset.cat)">A</a></th>
<th><a #ca [attr.data-cat]="beter" (click)="getName(ca.dataset.cat)">B</a></th>
<th><a #ca [attr.data-cat]="colar" (click)="getName(ca.dataset.cat)">C</a></th>
<th><a #ca [attr.data-cat]="dera" (click)="getName(ca.dataset.cat)">D</a></th>
</thead>
</table>
在component.ts中
alax= 'ARMOIRS';
beter= 'PARASOLS';
colar= 'CAMBOUS';
dera= 'DIAMBRE';
@Output()
sendRequestData = new EventEmitter();
getName(catName:string) {
console.log("catName nom : "+catName);
this.sendRequestData.emit(catName);
}
在父component.html中我有:
<app-chilComponent (sendRequestData)="treatment($event)"></app-childComponent>
在父组件.ts中
treatment(message: any){
console.log(message) // I have always 'ARMOIRS' when I click on A or B or C or D
// I want to have 'ARMOIS' when I click on A and 'PARASOLS' when i click on B
}
有什么想法吗?
【问题讨论】:
-
当 getName() 触发时,本地子控制台中会出现哪些值(而不是在发出后)?请检查并告知。
标签: angular