[英]In Angular Typescript how to create a Observable from Map()
我有一個聯系服務,負責以通訊錄的方式管理聯系方式。 例如,我的界面如下所示:
export interface AddressBook {
a?: Contact[];
//...
}
和Contact[]
只是名稱,年齡,電子郵件之類的東西。 在我的服務中,我目前有以下實現:
private addressBook: Map<string, Contact[]> = new Map<string, Contact[]>();
private readonly ab$: BehaviorSubject<string | Contact[]> = new BehaviorSubject<string | Contact[]>(this.addressBook);
public constructor(){}
public getContacts(): Observable<string | Contact[]> {
return this.ab$.asObservable();
}
但是,我遇到的問題是private readonly ab$: BehaviorSubject<string | Contact[]> = new BehaviorSubject<string | Contact[]>(this.addressBook)
private readonly ab$: BehaviorSubject<string | Contact[]> = new BehaviorSubject<string | Contact[]>(this.addressBook)
private readonly ab$: BehaviorSubject<string | Contact[]> = new BehaviorSubject<string | Contact[]>(this.addressBook)
表示:
不可分配給'string |類型的參數 聯系[]'。 類型“地圖”缺少類型“聯系人[]”的以下屬性:長度,彈出,推入,連拍和其他21個。ts(2345)
我看不到此錯誤的來源。 謝謝大家的幫助!
您的BehaviourSubject
應該實例化如下:
private readonly ab$: BehaviorSubject<Map<string, Contact[]>> = new BehaviorSubject(new Map({}));
由於它的類型必須與addressBook
相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.