2017-07-29 78 views
0

我創建了一個簡單的注射器,我用它進行模擬測試,直到我感覺像實現我的提供程序來檢索用戶數據。它看起來像這樣:Angular 2 Injectable is missing object

import { Injectable } from '@angular/core'; 

@Injectable() 
export class Identity { 
    public userInfo: {id: 1}; 
} 

我要求在我一個像這樣的組件:

export class TabsPage { 
    constructor(public identity: Identity) { 
     console.log(this.identity.userInfo); 
    } 
} 

身份被注入正常,但用戶信息是不確定的,這到底是怎麼回事呢?我怎樣才能通過我的提供者傳遞數據?

回答

5

您正在爲用戶信息定義類型(typescript類型),而不是值,因此它是undefinedpublic userInfo = { id: 1 };初始化其值。 (注意你的問題中有冒號:,而不是=

+0

Thanks!有趣的是,如何編譯。我只是在等待問題的時間限制過期我會接受這個答案時stack允許我 –

+0

它爲什麼不編譯? –

+0

@ johnny5它編譯的原因是你定義的typescript對象文字類型是有效的,並且總是將其未來值鎖定爲「{id:1}」,如果你嘗試賦值因爲它從來沒有初始化到任何東西 – Juan

相關問題