我是Angular 2
和Ionic 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 :(得分: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.source
可以在saveContact()
之前调用,这意味着在content
更新之前设置了this.Datasource.source
。