我正在学习角度,我有一个问题:我在主组件中有一个组件,我想发出一个事件,但我得到了一个错误。这是我的代码:
import component,oniit,output,eventEmitter from'@angular/core';
@组件({
selector:'应用程序游戏控制',
模板URL:'./game control.component.html',
样式URL:'.'/game control.component.css']
})
导出类GameControlComponent实现OnInit{
@output()生成的数字:eventEmitter<v:number>=new eventEmitter<v:number>();
游戏:任意;
constructor()
ngoninit()号{
}
开始游戏()。{
this.game=设置间隔(this.generateevent,1000);
}
停止游戏()。{
ClearInterval(本游戏);
}
GenerateEvent():无效{
const n=math.floor((math.random()*10)+1);
此.numberGenerated.Emit(v:3);
console.log(“发送事件”);
}
}
这是此组件的HTML代码:
开始游戏
结束游戏
下面是应用程序rootcomponent html:。
<div>
<app game control(numberGenerated)=“numberGenerateEvent($event)”>
</app游戏控制>
<HR>
<br>
</DIV>
但是当我点击“开始游戏”按钮时,我会从所附图片中得到错误:
请注意,这是一个窗口,而不是组件。我做错什么了?
import { Component, OnInit, Output, EventEmitter } from '@angular/core';
@Component({
selector: 'app-game-control',
templateUrl: './game-control.component.html',
styleUrls: ['./game-control.component.css']
})
export class GameControlComponent implements OnInit {
@Output() numberGenerated: EventEmitter<{v: number}> = new EventEmitter<{v: number}>();
game: any;
constructor() { }
ngOnInit() {
}
startGame() {
this.game = setInterval(this.generateEvent, 1000);
}
stopGame() {
clearInterval(this.game);
}
generateEvent(): void {
const n = Math.floor((Math.random() * 10) + 1);
this.numberGenerated.emit({v: 3});
console.log('event sent');
}
}
这是此组件的HTML代码:
开始游戏
结束游戏
下面是应用程序rootcomponent html:
<div>
<app-game-control (numberGenerated)="numberGeneratedEvent($event)">
</app-game-control>
<hr>
<br>
</div>
但是当我点击“开始游戏”按钮时,我会从所附图片中得到错误:
请注意,这是一个窗口,而不是组件。我做错什么了?