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 相关文章推荐
在jQuery1.5中使用deferred对象 着放大镜看Promise
Mar 12 Javascript
innerHTML与jquery里的html()区别介绍
Oct 12 Javascript
JavaScript中遍历对象的property的3种方法介绍
Dec 30 Javascript
JavaScript数据结构与算法之集合(Set)
Jan 29 Javascript
javascript实现的全国省市县无刷新多级关联菜单效果代码
Aug 01 Javascript
jQuery简单实现中间浮窗效果
Sep 04 Javascript
详细谈谈AngularJS的子级作用域问题
Sep 05 Javascript
基于Vue实现微信小程序的图文编辑器
Jul 25 Javascript
element-ui 时间选择器限制范围的实现(随动)
Jan 09 Javascript
js回溯法计算最佳旅行线路代码实例
Sep 11 Javascript
详解JSON.stringify()的5个秘密特性
May 26 Javascript
vue整合百度地图显示指定地点信息
Apr 06 Vue.js
解决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
mysqli_set_charset和SET NAMES使用抉择及优劣分析
2013/01/13 PHP
33道php常见面试题及答案
2015/07/06 PHP
PHP+Ajax验证码验证用户登录
2016/07/20 PHP
php实现文件管理与基础功能操作
2017/03/21 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
PHP利用curl发送HTTP请求的实例代码
2020/07/09 PHP
javascript GUID生成器实现代码
2009/10/31 Javascript
轻轻松松学JS调试(不下载任何工具)
2010/04/14 Javascript
JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
2012/01/08 Javascript
Web Inspector:关于在 Sublime Text 中调试Js的介绍
2013/04/18 Javascript
如何创建一个JavaScript弹出DIV窗口层的效果
2013/09/25 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
2014/04/14 Javascript
原生js实现数字字母混合验证码的简单实例
2015/12/10 Javascript
Javascript删除指定元素节点的方法
2016/06/21 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
js实现PC端根据IP定位当前城市地理位置
2017/02/22 Javascript
教你5分钟学会用requirejs(必看篇)
2017/07/25 Javascript
利用JavaScript实现栈的数据结构示例代码
2017/08/02 Javascript
vue的列表交错过渡实现代码示例
2019/05/05 Javascript
微信小程序环境下将文件上传到OSS的方法步骤
2019/05/31 Javascript
jquery轮播图插件使用方法详解
2020/07/31 jQuery
[01:25]2014DOTA2国际邀请赛 zhou分析LGD比赛情况
2014/07/14 DOTA
[01:21]DOTA2周边文化主题展 神秘商店火热开售
2017/07/30 DOTA
Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法
2015/05/16 Python
seek引发的python文件读写的问题及解决
2019/07/26 Python
Python利用Xpath选择器爬取京东网商品信息
2020/06/01 Python
Python使用grequests并发发送请求的示例
2020/11/05 Python
详解pycharm自动import所需的库的操作方法
2020/11/30 Python
如何用python开发Zeroc Ice应用
2021/01/29 Python
澳大利亚拥有最好的家具和家居用品在线目的地:Nestz
2019/02/23 全球购物
心得体会范文
2014/01/04 职场文书
事业单位接收函
2014/01/10 职场文书
年会主持词结束语
2014/03/27 职场文书
倡议书范文
2014/04/16 职场文书
违纪检讨书范文
2015/01/27 职场文书
优秀教师主要事迹材料
2015/11/04 职场文书