作者:手机用户2602906791 | 来源:互联网 | 2022-12-07 09:39
在我的Angular项目中,我试图BehaviorSubject
用一个空数组初始化属性:
export class Buffer {
$items: BehaviorSubject>; // or -
private _items: Array
- ; // or Item[]
constructor(settings: Settings) {
this.$items = new BehaviorSubject([]);
}
}
打字稿编译器抛出以下错误:
错误TS2322:类型' BehaviorSubject
'不能分配给类型' BehaviorSubject
'
我尝试阅读有关“从不”类型的信息,但我不明白为什么会收到这样的错误。另外,如果我将$items
实例化替换为,this.$items = new BehaviorSubject(new Array())
则不会有错误。但是在这种情况下,我的IDE会警告我:“可以简化数组实例化”。
有什么问题,我应该在这里做什么?我正在使用打字稿2.7.2。
1> Titian Cerni..:
您需要将类型参数显式传递给构造函数
this.$items = new BehaviorSubject- ([]);
如果编译器没有其他信息,[]
则将推断为never[]