【问题标题】:Ionic 2 view not update after array changeIonic 2 视图在数组更改后不更新
【发布时间】:2016-12-02 18:47:08
【问题描述】:

我是Angular 2Ionic 2 新手。我创建了一个应用程序,将联系人添加到主页,但是当我这样做时,页面不会更新以查看插入的数据。我该如何解决?

主页.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();
  }

【问题讨论】:

  • 能否请您发布您的查看代码?
  • 我尝试注入模块 .. 工作正常.!!!!谢谢

标签: angular ionic2


【解决方案1】:

你的 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 更新之前设置的。

【讨论】:

  • addContact() 是调用modal。
  • 我知道这是我提供的答案的 10%
猜你喜欢
  • 1970-01-01
  • 2019-12-09
  • 2019-01-26
  • 2018-03-21
  • 2016-08-23
  • 2019-05-12
  • 2016-07-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多