离子模态范围重置每个礼物

时间:2018-01-11 12:14:47

标签: javascript angular typescript ionic3

嗯......我碰了一下。 我提出了一个模态,在其范围内更改了一些变量,当我再次重新打开它时,范围已重置为默认值。 这是我打开它的方式。

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { ModalController, NavParams } from 'ionic-angular';
import { LoginModal } from '../../modals/login/login.modal'
import { ExamplePage } from '../../pages/example/example'

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {
  modal = null;

  constructor(public navCtrl: NavController, public modalCtrl: ModalController) {

  }

  openModal(){
    if(!this.modal)
      this.modal = this.modalCtrl.create(LoginModal, { userId: 8675309 });

    this.modal.present();
  }

}

这是模态组件。

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { ModalController, NavParams } from 'ionic-angular';

@Component({
    selector: 'login-modal',
    template: `
        <ion-content>
            <ion-item>
                <ion-label>Title</ion-label>
                <ion-input type="text" (change)="onTitleChange()" [(ngModel)]="title" name="title"></ion-input>
            </ion-item>
        </ion-content>
    `
})
export class LoginModal {
    title = 'Default.'

    onTitleChange(){
        console.log(this.title)
    }
}

任何想法为什么每次打开模态时,该字段都是&#39;默认&#39;?

1 个答案:

答案 0 :(得分:0)

您需要在关闭

的模式中检索变量
this.modal.onDidDismiss(data => console.log(data));

并在创建期间打开它们时发送它们。

this.modalCtrl.create(LoginModal, { userId: 8675309,title:savedTitle });

检查ModalController documentation。 解雇时会立即销毁模态。因此,它的数据不会被保存,这意味着创建并呈现了一个具有默认值的新模态。