阵列更改后Ionic 2视图不会更新

时间:2016-12-02 06:41:33

标签: angular ionic2

我是Angular 2Ionic 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();
  }

1 个答案:

答案 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