Angular 4.x+Ionic3踩坑之Ionic 3.x界面传值详解


Posted in Javascript onMarch 13, 2018

1.Ionic3.x中页面(组件)之间正向传值方式?

这里所说的正向传值指的是如有两个页面,我们简称 页面A 和 页面B,正向指的是A跳转到B,比如一个商品跳转这个商品的详情页面。

正向传值Ionic3.x主要有2种

  • 标签上直接跳转
  • Js跳转

1) 标签上直接跳转

Ionic3.x对Angular2以上的的路由进一步封装,路由跳转主要是由模块 NavController 来完成的,传递参数主要是由模块 NavParams 来完成的,用法如下

A页面内容:

htmll:代码

<button [navPush]="bPage" [navParams]="{id:'001'}"></button>

ts:代码

import { BPage } from '../BPage';
export class APage {
 public bPage:any;
 constructor(public navCtrl: NavController, public navParams: NavParams){
    this.bPage = BPage;
 }
}

注意:这边 自己经常遇到一个问题就是我们申明,变量bPage的,可以有的教程就直接赋值,如
public bPage = BPage;我的问题是,我写这种写法点击按钮跳转不了,所以我的解决的方法 是在构造函数里面赋值,这样就可以解决啦!

那B页面要怎么获取 呢,看招:

B页面内容:

ts代码

export class APage {
public bPage:any;
constructor(public navCtrl: NavController, public navParams: NavParams){
  // 获取A页面传递过来的id
  let id = this.navParams.get('id');
 }
}

获取相对还是很容易!

2.Js跳转

A页面内容:

htmll:代码

<buttton (click)="goToBpage()"></button>

ts代码

import { BPage } from '../BPage';
export class APage {
 constructor(public navCtrl: NavController, public navParams: NavParams){
 }
 // 跳转方法
 goToBpage(){
   this.navCtrl.push(BPage,{'id':'0001'})
 }
}

B页面获取同上,这边js跳转主要是用NavControlller中的push方法,第一个参数为要跳转的页面,第二个参数的就是参数值,注意这是一个Json格式的对象。

总结

今天主要分享界面的正向传值,其实主要归功了NavController和NavParams这两个强大 的模块,这两个还有很多方法 ,大家要进一步学习,可以到官方文档查看哦。

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
利用JS重写Cognos右键菜单的实现代码
Apr 11 Javascript
JS实现字体选色板实例代码
Nov 20 Javascript
快速解决FusionCharts联动的中文乱码问题
Dec 04 Javascript
移动节点的jquery代码
Jan 13 Javascript
javascript实现简单的进度条
Jul 02 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
Dec 12 Javascript
Javascript动画效果(4)
Oct 11 Javascript
原生javascript实现分页效果
Apr 21 Javascript
详解vue2.0的Element UI的表格table列时间戳格式化
Jun 13 Javascript
详解如何使用Node.js编写命令工具——以vue-cli为例
Jun 29 Javascript
对vue中v-if的常见使用方法详解
Sep 28 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
Oct 30 Javascript
解决vue页面刷新或者后退参数丢失的问题
Mar 13 #Javascript
解决vue单页使用keep-alive页面返回不刷新的问题
Mar 13 #Javascript
解决vue 路由变化页面数据不刷新的问题
Mar 13 #Javascript
一种angular的方法级的缓存注解(装饰器)
Mar 13 #Javascript
vue 多入口文件搭建 vue多页面搭建的实例讲解
Mar 12 #Javascript
解决vue多个路由共用一个页面的问题
Mar 12 #Javascript
angular5 httpclient的示例实战
Mar 12 #Javascript
You might like
php中如何使对象可以像数组一样进行foreach循环
2013/08/09 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
Laravel自动生成UUID,从建表到使用详解
2019/10/24 PHP
js 页面输出值
2008/11/30 Javascript
struts2 jquery 打造无限层次的树
2009/10/23 Javascript
js实现addClass,removeClass,hasClass的函数代码
2011/07/13 Javascript
点击弹出层效果&amp;弹出窗口后网页背景变暗效果的实现代码
2014/02/10 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
JavaScript设计模式之代理模式详解
2017/06/09 Javascript
vue select二级联动第二级默认选中第一个option值的实例
2018/01/10 Javascript
发布一款npm包帮助理解npm的使用
2019/01/03 Javascript
JS中实现一个下载进度条及播放进度条的代码
2019/06/10 Javascript
Javascript数组及类数组相关原理详解
2020/10/29 Javascript
[47:43]完美世界DOTA2联赛PWL S3 Magama vs GXR 第二场 12.19
2020/12/24 DOTA
Python入门篇之面向对象
2014/10/20 Python
Python3多线程爬虫实例讲解代码
2018/01/05 Python
Python命名空间的本质和加载顺序
2018/12/17 Python
解决Python3 抓取微信账单信息问题
2019/07/19 Python
Pycharm 如何一键加引号的方法步骤
2021/02/05 Python
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
详解HTML5中ol标签的用法
2015/09/08 HTML / CSS
巴西电子产品购物网站:Saldão da Informática
2018/01/09 全球购物
abstract class和interface有什么区别?
2012/01/03 面试题
数字化校园建设方案
2014/05/03 职场文书
党员批评与自我批评发言稿
2014/10/14 职场文书
房屋转让协议书
2014/10/18 职场文书
法学专业求职信范文
2015/03/19 职场文书
公司辞职信模板
2015/05/13 职场文书
观后感的写法
2015/06/19 职场文书
中学图书馆工作总结
2015/08/11 职场文书
python实战之用emoji表情生成文字
2021/05/08 Python
详解Laravel服务容器的优势
2021/05/29 PHP
用Java实现简单计算器功能
2021/07/21 Java/Android
Python字符串常规操作小结
2022/04/03 Python
mysql sock文件存储了什么信息
2022/07/15 MySQL