[英]@Output childEvent not initialized in component
我想在组件中设置 output 值。 为 output 编写此代码:
export class OutputComponentComponent implements OnInit {
@Output() public childEvent = new EventEmitter();
@HostListener('window:mousemove', ['$event'])
onMouseMove(event: MouseEvent) {
this.functinoOutput();
}
private functinoOutput() {
this.childEvent.emit('value')
}
}
我在appcomponent.html
中使用这个组件
<app-ouput (childEvent)="showCordinate($event)"></app-ouput>
但它告诉我这个错误:
错误:@Output childEvent 未在“ResizableComponentComponent”中初始化。
有什么问题? 我怎么解决这个问题???
您是否尝试过声明标志?
export class OutputComponentComponent implements OnInit {
initialized = false;
@Output() public childEvent = new EventEmitter();
@HostListener('window:mousemove', ['$event'])
onMouseMove(event: MouseEvent) {
if (this.inizialited) {
this.functinoOutput();
}
}
ngOnInit(): void {
this.inizialited = true;
}
private functinoOutput() {
this.childEvent.emit('value')
}
}
可选:尝试更好地声明 @Output
@Output() search: EventEmitter<ClassOrSomething> = new EventEmitter(false);
我认为您没有在 TS 文件中导入EventEmitter
或从错误的库中导入该文件。 如果没有,请尝试下面给出的代码。
import { EventEmitter } from '@angular/core';
如果您使用import { EventEmitter } from 'events';
那么请用我的替换你的导入。
注意:如果您仍然遇到问题,请告诉我。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.