此处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
收到错误。错误是&#34;类型&#39;可观察&lt; {}&gt;&#39;不能分配给&#39; Observable&#34;。什么地方出了错?对此有何帮助?
答案 0 :(得分:4)
试试这个:
this.items = store.select<Array<Item>>('items');
答案 1 :(得分:3)
这是因为您将items
定义为Observable<Array<Item>>
,而store.select('items')
可能会返回Observable<T>
。
您可以使用类型转换来告诉编译器您希望它返回的内容:
this.items = <Observable<Item[]>>store.select('items');