我有带有单选按钮的简单组件:
html:
<div class="rate">
<input type="radio" id="star5" name="rate" value="5" (change)="onRateChange($event.target.value)"/>
<label for="star5" title="text">5 stars</label>
...
</div>
TS:
@Output() rateSelected = new EventEmitter<number>();
public onRateChange(value: number) {
this.rateSelected.emit(value);
}
当我像这样使用它时:
html:
<form>
<h1>Rate one:</h1>
<app-stars (rateSelected)="onRateOneSelected($event)"></app-stars>
<h1>Rate two:</h1>
<app-stars (rateSelected)="onRateTwoSelected($event)"></app-stars>
</form>
TS:
onRateOneSelected(rate: number) {
alert('app ' + rate); // this one is always triggered
}
onRateTwoSelected(rate: number) {
alert('comfort ' + rate);
}
无论我使用第一个还是第二个评分总是onRateOneSelected触发事件。怎么了?我该如何解决?