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 相关文章推荐
用jquery实现学校的校历(asp.net+jquery ui 1.72)
Jan 01 Javascript
网页前台通过js非法字符过滤代码(骂人的话等等)
May 26 Javascript
AngularJS 依赖注入详解和简单实例
Jul 28 Javascript
JavaScript制作简单分页插件
Sep 11 Javascript
js中常用的Math方法总结
Jan 12 Javascript
vue轮播图插件vue-awesome-swiper的使用代码实例
Jul 10 Javascript
vue监听键盘事件的快捷方法【推荐】
Jul 11 Javascript
Vue-router的使用和出现空白页,路由对象属性详解
Sep 03 Javascript
js作用域和作用域链及预解析
Apr 11 Javascript
微信小程序开发常见问题及解决方案
Jul 11 Javascript
15分钟学会vue项目改造成SSR(小白教程)
Dec 17 Javascript
react的hooks的用法详解
Oct 12 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概率算法实例
2014/04/09 PHP
WordPress中的shortcode短代码功能使用详解
2016/05/17 PHP
PHP迭代与递归实现无限级分类
2017/08/28 PHP
Laravel 读取 config 下的数据方法
2019/10/13 PHP
动态控制Table的js代码
2007/03/07 Javascript
了解jQuery技巧来提高你的代码
2010/01/08 Javascript
JS面向对象编程浅析
2011/08/28 Javascript
用js的for循环获取radio选中的值
2013/10/21 Javascript
JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
2013/11/28 Javascript
jQuery使用之设置元素样式用法实例
2015/01/19 Javascript
浅析jQuery Ajax请求参数和返回数据的处理
2016/02/24 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
基于bootstrap实现收缩导航条
2017/03/17 Javascript
简单实现js拖拽效果
2017/07/25 Javascript
基于JavaScript表单脚本(详解)
2017/10/18 Javascript
微信小程序实现的贪吃蛇游戏【附源码下载】
2018/01/03 Javascript
移动端 Vue+Vant 的Uploader 实现上传、压缩、旋转图片功能
2019/06/10 Javascript
vue+canvas实现移动端手写签名
2020/05/21 Javascript
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
python3中str(字符串)的使用教程
2017/03/23 Python
浅谈python中的占位符
2017/11/09 Python
利用python将json数据转换为csv格式的方法
2018/03/22 Python
对TensorFlow中的variables_to_restore函数详解
2018/07/30 Python
Python基础之文件读取的讲解
2019/02/16 Python
Python基于模块Paramiko实现SSHv2协议
2020/04/28 Python
Python基于正则表达式实现计算器功能
2020/07/13 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
瑞贝卡·泰勒官方网站:Rebecca Taylor
2016/09/24 全球购物
英国的潮牌鞋履服饰商店:size?
2019/03/26 全球购物
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
希特勒的演讲稿
2014/05/23 职场文书
2014离婚协议书范文(3篇)
2014/11/29 职场文书
投资合作意向书范本
2015/05/08 职场文书
《小乌鸦爱妈妈》教学反思
2016/02/19 职场文书
python plt.plot bar 如何设置绘图尺寸大小
2021/06/01 Python