angular - 类型为 'typeof Store' 的参数不能赋值给类型为 'Store' 的参数
我正在尝试扩展一个使用 ngrx 的 Angular 服务,但我遇到了这个类型错误
Argument of type 'typeof Store' is not assignable to parameter of type 'Store<AppState>'
这是我的父类:
import { Store } from '@ngrx/store';
import { AppState } from '../store/file-uploader.state';
import { AbstractStorage } from '@storage';
export class FileUploaderService {
constructor(
private store: Store<AppState>,
private storage: AbstractStorage,
) { }
}
以及我的子类:
import { Store } from '@ngrx/store';
import { AppState } from '../store/file-uploader.state';
import { AbstractStorage } from '@storage';
export class DataSourceService extends FileUploaderService implements AbstractFileUploader {
constructor() {
super(Store, AbstractStorage)
}
}
我必须将这两个参数传递给 super。我尝试过传递 Store<AppState>,但是它说正在将 Appstate 作为一个值而不是类型。因此我不知道如何给这个参数指定类型。有人知道如何正确声明这个 super 吗?
答案#1
你应该将实例传递给 super 而不是类型。你可以尝试以下代码,看看是否有帮助:
export class DataSourceService extends FileUploaderService implements AbstractFileUploader {
constructor(private store: Store<AppState>, private storage: AbstractStorage) {
super(store, storage);
}
}
