2017-05-29 36 views
-1

我有一個從服務器異步加載數據的問題。鑑於沒有任何數據,因爲渲染是在加載之前。 這裏是我的代碼: app.component.ts:Angular2 - 顯示來自http加載之前的數據

user: User = new User() 
    ngOnInit() { 
    this.userService.getUser(1).then(usr => { 
     this.user = usr; 
    }).catch((error: any) => { 

    }); 
    } 

app.component.html:

<p>{{user.name}}</p> 

我認爲數據會動態改變。問題在哪裏?由於

+0

可以嘗試'

{{user?.name}}

'? – echonax

+0

是的,結果是一樣的。我沒有看到用戶名 – bluray

+0

嘗試在異步調用中賦值後登錄'this.user'並向我們顯示內容 –

回答

1

嘗試使用Elvis操作符,這可能有助於

<p>{{user?.name}}</p> 

甚至可能會試圖利用ngIf的

<div *ngIf = "user"> 
    user.name 
</div> 
+0

這不是很好的解決方案。我沒有看到用戶名。我創建服務的商店用戶和getter和setter方法我把斷點設置,首先調用get方法和設置方法 – bluray

+0

是用戶獲取登錄組件檢查? –

+0

對不起,問題在於我從服務器獲取的數據。數據結構已經改變,我不知道。它現在運作 – bluray

0
<p>{{user.name}}</p> 

OR

<div *ngIf="user"> 
    {{user.name}} 
</div>