类型 'false' 不可分配给类型 'EventEmitter<any>'

时间:2021-02-11 04:11:00

标签: angular typescript

我必须将一个布尔值传递给父组件,但这样做时我收到一个错误,指出“类型‘false’不可分配给类型‘EventEmitter’。”

这是它的代码,

 @Output() isTimeBoundAccessEnabled = new EventEmitter();

这是我在某个条件失败时将布尔值分配为 FALSE 的方式

 this.isTimeBoundAccessEnabled = false ;

我的代码到底有什么错误?

3 个答案:

答案 0 :(得分:2)

正确的做法是:

@Output() isTimeBoundAccessEnabled = new EventEmitter<boolean>();

this.isTimeBoundAccessEnabled.emit(false);

答案 1 :(得分:2)

要将 false 传递给父组件(从子组件),您应该 emit 值如:

// in child component
this.someEventEmitter.emit(false);

然后父级有一个类似的事件处理程序

<MyChild (customEvent)="handleEvent($event)"> ...

在父类中,我们有 handleEvent

handleEvent($event){
  console.log($event); // should be `false` if child executed the above code
}

答案 2 :(得分:0)

看起来您没有发出值并分配它。确保在使用发射器时发射值。在您的情况下,您可以使用上述答案中提到的其他内容。还要确保使用正确类型的 EventEmitter。

this.isTimeBoundAccessEnabled.emit(false);