输入&#39; Observable&lt; {}&gt;&#39;不能分配给&#39; Observable <item []>:Rxjs

时间:2016-11-16 09:51:34

标签: angular typescript rxjs ngrx

此处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;。什么地方出了错?对此有何帮助?

2 个答案:

答案 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');