2016-11-16 12 views
1

ここItemService item.service.tsタイプ '観察可能<{}>'「は観察可能<Item[]>を型に代入できません。Rxjs

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 < {}>'は 'Observable'型に割り当てられません。何が悪かったのか?これに関する助言?

答えて

2

これが起こります。それが動作

this.items = <Observable<Item[]>>store.select('items'); 
4

はこれを試してみてください:store.select('items')はおそらくObservable<T>を返しながら、あなたはObservable<Array<Item>>としてitemsを定義しているため

this.items = store.select<Array<Item>>('items'); 
+0

感謝:

あなたはそれを返すように期待しているものをコンパイラに伝えるために型キャストを使用することができます。 – Khushi

関連する問題