如何访问 angular 中事件发射器返回的值

How to access value returned by an event emitter in angular

好像我有一个方法 -

我使用值 -

从我的单元测试中调用此方法
var eventValue = <ManagedColumns>{
      selectedColumns : ["Select","Last Name"],
      availableColumns: ["First Name"]
    };

component.updateColumns(eventValue);

组件中的方法是 -

updateColumns(eventValue: ManagedColumns) {
    console.log("KKKKKKK"+JSON.stringify(eventValue));
    this.applyColumnChanges.emit(eventValue);
    console.log("LLLLLL"+JSON.stringify(this.applyColumnChanges));
  }

我想断言此方法中发出的事件 returns 与传递给它的值相同。当我尝试(在测试中)时 -

console.log("MMMMMMMM"+JSON.stringify(component.applyColumnChanges));

它给了我类似下面的东西,但不是发射器的值 returned/emiited -

LOG: 'MMMMMMMM{"_isScalar":false,"observers":[],"closed":false,"isStopped":false

因为您在 console.log("LLLLLL"+JSON.stringify(this.applyColumnChanges));
中使用 this.applyColumnChanges 这是发射器而不是发射值。如果您想检查该值,只需像

一样订阅它
this.applyColumnChanges.subscribe((emittedVal) => {
  console.log('This is emitted value'+ emittedVal);
});