2016-12-02 74 views
0

我是Angular 2Ionic 2新手。我創建了一個將聯繫人添加到主頁的應用程序,但是當我這樣做時,頁面不會更新以查看插入的數據。我該如何解決這個問題?陣列變化後離子2視圖不更新

homepage.ts:

addContact(){ 
//this.navCtrl.push(Addcontact); 
let modal = this.ModalCtrl.create(Addcontact); 

modal.onDidDismiss((data) => { 
    if(data){ 
     this.content = this.Datasource.source; 
    } 
}); 

modal.present();} 

而這正是我添加聯繫人:

saveContact(info){ 
let cdata = { 
    owner: info.displayName, 
    contact_name: info.displayName, 
    contact_tel: info.phoneNumbers.value 
}; 
//this.passdata.push(cdata); 
this.dbprovider.save('contacts',cdata); 
this.Datasource.source.push(cdata); 
JSON.stringify(this.Datasource.source);} 



close(){ 
    this.navCtrl.pop(); 
    } 
+0

您可以請發表您的查看代碼嗎? – Jorge

+0

我嘗試注入模塊..工作正常。謝謝 –

回答

0

你的HTML應該是這樣的

<ion-list *ngIf="content"> 
    <ion-item *ngFor="let cdata of content"> 
    <h2>Do something with cdata</h2> 
    </ion-item> 
</ion-list> 

我也看到你的方法被稱爲addContact()saveContact()。現在addContact()不叫saveContact()。或者它在模態的處理程序中調用saveContact()

第二件事是,您正在使用data的模態回調,但不要在任何地方使用此data。我期望你的代碼看起來像

if(data) { 
    this.Datasource.saveContact(data); 
    this.content = this.Datasource.source; 
} 

否則this.content = this.Datasource.sourcesaveContact()這意味着this.Datasource.source已經更新之前你content設置之前可以調用。

+0

addContact()是調用模態。 –

+0

我知道這是,這是我提供的答案的10% – Ivaro18