2017-01-26 57 views
0

我一直在嘗試顯示成功消息並在執行操作後刷新我的頁面。假設我執行刪除操作時,後端的響應應顯示在頁面上,然後再刷新。我該如何解決這個問題?如何刷新成功消息后角度爲2的頁面

reloadGame() { 
    this.gameService.getAllGames().subscribe(data => { 
     console.log(data) 
    }) 
} 

removeGame(game) { 
    this.httpService.deleteGame(game.id).subscribe(data => { 
     this.reloadGame() 
    }) 
} 
+0

這有什麼代碼的問題?發佈你的錯誤/問題 –

+0

你是什麼意思的「刷新頁面」?你想觸發一個硬盤重新加載(就像當你點擊瀏覽器重新加載按鈕時)?或者只是清除狀態消息? – AngularChef

+0

@AliBaig,控制檯中沒有錯誤,但在刪除遊戲後,我希望頁面顯示來自後端的響應,並刷新頁面。我正嘗試使用reloadGame函數進行刷新。成功響應也在控制檯中正確顯示,但不在頁面上 – Switz

回答

0

你可以有一個消息字符串給它分配在this.reloadGame(前訂閱的消息),重新進行訂閱reloadGame的讓它空。

和HTML

<div *ngIf="message" class="success">{{message}}<div> 
+0

你也可以放一些延遲,然後將消息分配給null –

0
private Games:any = []; //assuming your have an array called Games 

您需要設置服務返回到綁定到你的HTML變量的響應。

reloadGame(){ 
this.gameService.getAllGames() 
    .subscribe(data => { 
    this.Games = data;  <== You have not set the response to your Games array 
    }); 
} 

這應該與下面的HTML工作

<table> 
    <tbody> 
     <tr *ngFor="let game of Games; let i = index"> 
     <td>{{i + 1}}</td> 
     <td>{{game.name}}</td> 
     <td>{{game.type}}</td> 
     </tr> 
    </tbody>  
</table> 
+0

我刪除後,它不刷新顯示更新,而是我看到更改之前必須在瀏覽器上重新加載 – Switz

+0

您是否嘗試過上述更改?你確定服務'this.gameService.getAllGames()'返回更新後的結果嗎? –

+0

是的,我確定.. – Switz