Ионическое модальное значение не входит в onDidDismiss - PullRequest
0 голосов
/ 14 сентября 2018

Я разрабатываю приложение Ionic с модальным.Когда я использую метод onDidDismiss, я не получаю значение из модального на страницу.

Я хочу отправлять данные, когда модальный dissmiss().

Мой код указан ниже.

home.html

<ion-content>
<ion-input type="text" maxlength="50" name="name1" placeholder="eg: Software Engineer" (input)="openModalNew();"></ion-input>
</ion-content>

home.ts

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams, ModalController, ModalOptions, Modal } from 'ionic-angular';
import { NavController, NavParams } from 'ionic-angular';
import { DetailsPage } from '../details/details'

@Component({
    selector: 'page-home',
        templateUrl: 'home.html'
})
export class HomePage {
constructor(public modalCtrl: ModalController,public params: NavParams) {

}

    openModalNew() {
    let MyNewModal = this.modalCtrl.create(DetailsPage);
    MyNewModal.onDidDismiss(data => {
    console.log(data);  // getting as null
    });
    MyNewModal.present();
    }

}

Details.html

<ion-header>
<ion-navbar>
    <ion-title>ModalPage</ion-title>
    <ion-buttons end>
    <button ion-button (click)="closeModal()">Close</button>
    </ion-buttons>
</ion-navbar>
</ion-header>
<ion-content padding>
</ion-content>

details.ts

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

@IonicPage()
@Component({
  selector: 'page-details',
  templateUrl: 'details.html',
})
export class DetailsPage {
constructor(public navCtrl: NavController, public navParams: NavParams, public viewCtrl : ViewController) {

}

ionViewDidLoad() {
    console.log('ionViewDidLoad ModalPage');
}

public closeModal(){

    let data = { 'name':'kumar','id':'12345' };
    this.viewCtrl.dismiss(data);
    }

}

Здесь onDidDismiss значение становится нулевым.Как решить проблему, пожалуйста, помогите мне.Я пробовал несколько раз.

1 Ответ

0 голосов
/ 17 сентября 2018

Я получил решение, добавив модель "DetailsPage" в entryComponents app.module.ts .

app.module.ts

@NgModule({
declarations: [
DetailsPage
],
entryComponents: [
DetailsPage
],

И я меняю код в home.ts , это

let MyNewModal = this.modalCtrl.create(DetailsPage);

вместо

let MyNewModal = this.modalCtrl.create("DetailsPage");
...