ionic5 中一个页面弹出另一个页面以及页面间的传值

前言

要实现一个页面弹出另一个页面我们需要用到modal,参考资料:https://ionicframework.com/docs/api/modal
在这里插入图片描述
下面我们用实际案例来验证这个功能

准备

新建modal页面

ionic g page modal

新建login组件

ionic g component modal/components/login

在这里插入图片描述
在tab1页面新建按钮链接到modal

<ion-button [routerLink]="['/modal']">
    跳转到模态对话框页面
</ion-button>

login组件页面如下
login.component.html:

<ion-header>
  <ion-toolbar>
    <ion-title>用户登录</ion-title>
  </ion-toolbar>
</ion-header>

<ion-content>
    <ion-list> 
        <ion-item>
          <ion-label>用户名</ion-label>
          <ion-input type="text"></ion-input>
        </ion-item>
        <ion-item>
          <ion-label>密  码</ion-label>
          <ion-input type="text"></ion-input>
        </ion-item>
    </ion-list>
    <ion-button (click)="doLogin()" >
        登录
    </ion-button>
</ion-content>

实现一个页面弹出另一个页面

modal页面新建按钮并添加click事件

modal.page.html

<ion-button (click)="showModel()">
    弹出模态对话框
</ion-button>

modal.module.ts引入声明login组件

在modal.module.ts中引入LoginComponent,并在declarations和entryComponents中声明LoginComponent
在modal.module.ts:
在这里插入图片描述

modal.page.ts中引入声明ModalController和LoginComponent

modal.module.ts:
在这里插入图片描述

ts中创建click事件方法

点击事件方法实现弹出login组件页面,并且传入aid参数数据
modal.page.ts

async showModel() {
  const modal = await this.modalController.create({
    component: LoginComponent,
    cssClass: 'my-custom-class',
    componentProps: {
      aid:123
    }
  });
  await modal.present();
}

在这里插入图片描述
在这里插入图片描述

实现从modal传递参数到弹出login页面

父页面传递参数给子页面

modal的弹出页面方法中给子页面配置传递的参数
modal.page.ts:
在这里插入图片描述

子页面打印传入的参数

子页面打印父页面传递的参数需要用达到NavParams,所以我们需要

  • 引入NavParams组件
  • 在构造函数中注入NavParams
  • 日志打印日志参数
    login.component.ts:
    在这里插入图片描述
    从父页面点击按钮弹出子页面后,日志打印如下:
    在这里插入图片描述

子页面关闭

在login页面中新建关闭按钮

login.component.html:
在这里插入图片描述

ts页面创建关闭方法

子页面关闭需要用到this.navParams.data.modal.dismiss
login.component.ts:

 doClose() {
    this.navParams.data.modal.dismiss();
  }

在这里插入图片描述
点击页面后子页面关闭并回到modal页面

子页面传递参数到父页面

子页面的dismiss中传递参数

login.component.ts:
在这里插入图片描述

父页面答应传递过来的参数

modal.page.ts:
在这里插入图片描述
当子页面关闭时,后台打印传递过来的信息
在这里插入图片描述
代码参见:https://download.csdn.net/download/u010574271/18281129

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值