2017-05-25 67 views
0

我有一個需要輸入的表單,要求用戶輸入要選擇的數字。 提交表單時,我想要在生成和格式化數據時顯示「微調圖形」。
此刻,我無法讓微調器顯示,直到數據返回。Angular2在等待數據加載時更新視圖

我的代碼如下所示:

getTickets(){ 
    this.PBPicks=this._lottoService.getPBTicket(this.newTixForm.value['PBTix']); 
    this.MegaPicks=this._lottoService.getMegaTicket(
    this.newTixForm.value['MegaTix']); 
    return false; 
} 

submitForm(){ 
    this.isLoading=true; 
    console.log('Show Spinner'); 
    this.isLoading=this.getTickets(); 
    console.log("Data Loaded"); 
} 

當返回和顯示的數據是微調顯示了當,然後消失,即使控制檯顯示它正在返回數據時相比,更快執行。

+1

如何納克-模板? – Bruno

+0

這可能是一個更改檢測問題。分享一些更多的代碼,我們可能肯定知道。 – Chrillewoodz

回答

2

這裏是我做過什麼: 加載圖標組成:

isLoading = false; 
    constructor() { } 

    ngOnInit() {} 
    show() 
    { 
    this.isLoading = true; 
    } 
    hide() 
    { 
    this.isLoading = false; 
    } 

裝載 - icon.component.html

<span *ngIf="isLoading"> 
    <img src="/assets/images/loading.gif" alt=""> 
</span> 

App.Component.ts

//To get access to component and its method, using the @ViewChild decorator 
@ViewChild('imLoading') imLoading: LoadingIconComponent; 

this.model.getData = getData; 
this.imLoading.show();