2016-12-02 75 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