类型 'Observable<{}>' 不可分配给类型 'Observable<Item[]>: Rxjs
Type 'Observable<{}>' is not assignable to type 'Observable<Item[]>: Rxjs
这里ItemService
item.service.ts
export const items = (state: any = [], {type, payload}) => {
switch (type) {
default:
return state;
}
};
export interface Item {
id: number;
name: string;
description: string;
};
export interface AppStore {
items: Item[];
selectedItem: Item;
};
@Injectable()
export class ListService {
items: Observable<Array<Item>>;
private listModel: ItemList = new ItemList();
constructor(private itemListApi: ItemListApi, private store: Store<AppStore>) {
this.items = store.select('items');===>Error
}
}
我在 this.items
中遇到错误。错误是 "Type 'Observable<{}>' is not assignable to type 'Observable"。什么地方出了错?有什么帮助吗?
试试这个:
this.items = store.select<Array<Item>>('items');
发生这种情况是因为您将 items
定义为 Observable<Array<Item>>
而 store.select('items')
可能是 returns Observable<T>
.
您可以使用类型转换告诉编译器您期望它做什么return:
this.items = <Observable<Item[]>>store.select('items');
这里ItemService
item.service.ts
export const items = (state: any = [], {type, payload}) => {
switch (type) {
default:
return state;
}
};
export interface Item {
id: number;
name: string;
description: string;
};
export interface AppStore {
items: Item[];
selectedItem: Item;
};
@Injectable()
export class ListService {
items: Observable<Array<Item>>;
private listModel: ItemList = new ItemList();
constructor(private itemListApi: ItemListApi, private store: Store<AppStore>) {
this.items = store.select('items');===>Error
}
}
我在 this.items
中遇到错误。错误是 "Type 'Observable<{}>' is not assignable to type 'Observable"。什么地方出了错?有什么帮助吗?
试试这个:
this.items = store.select<Array<Item>>('items');
发生这种情况是因为您将 items
定义为 Observable<Array<Item>>
而 store.select('items')
可能是 returns Observable<T>
.
您可以使用类型转换告诉编译器您期望它做什么return:
this.items = <Observable<Item[]>>store.select('items');