如何以角度访问事件发射器返回的值

时间:2018-05-24 09:29:15

标签: angular output angular-test

就像我有一个方法 -

我使用值 -

从我的单元测试中调用此方法
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));
  }

我想声明此方法中发出的事件返回与传递给它的值相同的值。当我尝试(在测试中) -

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

它给了我类似下面的东西但不是发射器返回/发现的值 -

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

1 个答案:

答案 0 :(得分:0)

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

即可
this.applyColumnChanges.subscribe((emittedVal) => {
  console.log('This is emitted value'+ emittedVal);
});