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 相关文章推荐
Extjs在exlipse中设置自动提示的方法
Apr 07 Javascript
5分钟理解JavaScript中this用法分享
Nov 09 Javascript
JS常用正则表达式总结
Nov 12 Javascript
24款热门实用的jQuery插件推荐
Dec 24 Javascript
JS实现的自定义网页拖动类
Nov 06 Javascript
Google 地图类型详解及示例代码
Aug 06 Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
Oct 10 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
Jan 03 Javascript
从零学习node.js之mysql数据库的操作(五)
Feb 24 Javascript
JavaScript循环_动力节点Java学院整理
Jun 28 Javascript
浅谈JS函数节流防抖
Oct 18 Javascript
JavaScript中this的学习笔记及用法整理
Feb 17 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中的内存管理问题
2011/08/31 PHP
基于initPHP的框架介绍
2013/04/18 PHP
php检测网页是否被百度收录的函数代码
2013/10/09 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
2015/12/17 PHP
js post方式传递提交的实现代码
2010/05/31 Javascript
对javascript的一点点认识总结《javascript高级程序设计》读书笔记
2011/11/30 Javascript
jQuery+css+html实现页面遮罩弹出框
2013/03/21 Javascript
jquery.messager.js插件导致页面抖动的解决方法
2013/07/14 Javascript
jquery submit ie6下失效的原因分析及解决方法
2013/11/15 Javascript
js的hasownproperty使用示例
2014/03/02 Javascript
JavaScript不使用prototype和new实现继承机制
2014/12/29 Javascript
JAVA四种基本排序方法实例总结
2015/07/24 Javascript
JavaScript简单判断复选框是否选中及取出值的方法
2015/08/13 Javascript
JavaScript模拟文件拖选框样式v1.0的实例
2017/08/04 Javascript
详解让sublime text3支持Vue语法高亮显示的示例
2017/09/29 Javascript
node.js实现为PDF添加水印的示例代码
2018/12/05 Javascript
vue写h5页面的方法总结
2019/02/12 Javascript
微信小程序如何调用json数据接口并解析
2019/06/29 Javascript
layui实现左侧菜单点击右侧内容区显示
2019/07/26 Javascript
Vue记住滚动条和实现下拉加载的完美方法
2020/07/31 Javascript
Python while 循环使用的简单实例
2016/06/08 Python
Python编写简单的HTML页面合并脚本
2016/07/11 Python
Python深入06——python的内存管理详解
2016/12/07 Python
python 日期排序的实例代码
2019/07/11 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
2019/08/06 Python
Python魔法方法 容器部方法详解
2020/01/02 Python
django xadmin中form_layout添加字段显示方式
2020/03/30 Python
Django用户身份验证完成示例代码
2020/04/03 Python
Python+redis通过限流保护高并发系统
2020/04/15 Python
python中shell执行知识点
2020/05/06 Python
关于Kotlin中SAM转换的那些事
2020/09/15 Python
副护士长竞聘演讲稿
2014/04/30 职场文书
婚礼女方父母答谢词
2015/01/04 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
logback 实现给变量指定默认值
2021/08/30 Java/Android
JavaScript 事件捕获冒泡与捕获详情
2021/11/11 Javascript