【发布时间】:2019-11-26 19:31:28
【问题描述】:
最近我为朋友启动了一个项目,我需要使用事件。我以前只用过一次(只是提醒一下)。不幸的是,我似乎无法让父母赶上发射。这是一些代码:
发出的孩子:
@Output() reset: EventEmitter<any> = new EventEmitter();
changeRoute(val)
{
if (val.url = '/' && this.tuneholder.getTune() != null)
{
if (this.tuneholder.getTune().type == this.tune.type){
this.SetTune(this.tuneholder.getTune())
this.tuneholder.clearTune();
console.log("Emit");
console.log(this.tune);
this.reset.emit(this.tune);
}
}
这是父 html:
<app-playeritem
[tune]="tune"
*ngFor="let tune of tunes"
(reset)='resetTuneVal($event)'>
</app-playeritem>
这是父打字稿:
resetTuneVal(tune:Tune){
console.log("Caught Emit");
console.log(tune);
this.tunes.forEach(elm => {
if (elm.type == tune.type){
this.SetTune(elm, tune);
}
});
}
发出的日志存在,但捕获的日志不存在。有任何想法吗?我觉得我做得很好,但我真的迷路了。
【问题讨论】:
-
发布一个完整的最小示例来重现该问题,最好作为堆栈闪电战。
-
您是否在控制台中看到任何错误消息(例如,如果您使用的是 Chrome,则 F12 开发工具)?
-
如上传所有代码,而不仅仅是相关代码?
-
我没有看到任何错误,只有来自孩子的两个日志。
-
当我将代码上传到 StackBlitz.com 时,它运行良好,我想这意味着我的环境出了问题?
标签: angular typescript angular-event-emitter