gpt4 book ai didi

angular - "emit"类型的参数不可分配给 'never' 类型的参数

转载 作者:行者123 更新时间:2023-12-03 20:30:05 26 4
gpt4 key购买 nike

我需要在 Angular 中测试一个组件,它只有一种方法和某些 @Input 和 @Output 属性-

  updateColumns(eventValue: ManagedColumns) {
this.applyColumnChanges.emit(eventValue);
}

还有另一个组件具有应该调用上述方法的方法。调用因为它正在发出一个事件,我相信该事件将被另一个事件消耗,而后者又会发出另一个事件,该事件被另一个组件中的第三个消耗 -
applyChanges() {
this.apply.emit(<ManagedColumns>{
selectedColumns: this.selectedItems.slice(),
availableColumns: this.availableItems.slice()
});
this.closeDialog();
}

我正在尝试测试 updateColumns 但不知道该怎么做?是否可以模拟 applyChanges 依次发送到 updateColumns 并且我们可以检查相同的值?

如果我试过——
manageColumnsComponent = TestBed.createComponent(ManageColumnsComponent).componentInstance;
spyOn(manageColumnsComponent.applyChanges, 'emit');

得到错误 -
[ts] Argument of type '"emit"' is not assignable to parameter of type 'never'.

最佳答案

您需要 spyOn 实际的 eventEmitter 变量,而不是函数。

spyOn(manageColumnsComponent.apply, 'emit')

关于angular - "emit"类型的参数不可分配给 'never' 类型的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50501246/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com