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 相关文章推荐
点弹代码 点击页面任何位置都可以弹出页面效果代码
Sep 17 Javascript
获取下拉列表框的值是数组,split,$.inArray示例
Nov 13 Javascript
js如何设置在iframe框架中指定div不显示
Dec 04 Javascript
jQuery中removeAttr()方法用法实例
Jan 05 Javascript
js实现匹配时换色的输入提示特效代码
Aug 17 Javascript
Bootstrap每天必学之警告框插件
Apr 26 Javascript
JSON格式的时间/Date(2367828670431)/格式转为正常的年-月-日 格式的代码
Jul 27 Javascript
相册展示PhotoSwipe.js插件实现
Aug 25 Javascript
浅谈Node.js:fs文件系统模块
Dec 08 Javascript
jQuery tip提示插件(实例分享)
Apr 28 jQuery
JS如何把字符串转换成json
Feb 21 Javascript
vue ref如何获取子组件属性值
Mar 31 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
php命名空间学习详解
2014/02/27 PHP
PHP微信公众号开发之微信红包实现方法分析
2017/07/14 PHP
[原创]保存的js无法执行的解决办法
2007/02/25 Javascript
JavaScript入门教程(1) 什么是JS
2009/01/31 Javascript
Ext对基本类型的扩展 ext,extjs,format
2010/12/25 Javascript
捕获浏览器关闭、刷新事件不同情况下的处理方法
2013/06/02 Javascript
angularjs指令中的compile与link函数详解
2014/12/06 Javascript
详解javascript中的事件处理
2015/11/06 Javascript
如何利用Promises编写更优雅的JavaScript代码
2016/05/17 Javascript
BootStrap创建响应式导航条实例代码
2016/05/31 Javascript
浅谈时钟的生成(js手写简洁代码)
2016/08/20 Javascript
vue双向绑定简要分析
2017/03/23 Javascript
微信小程序实现瀑布流布局与无限加载的方法详解
2017/05/12 Javascript
Bootstrap 树控件使用经验分享(图文解说)
2017/11/06 Javascript
js验证身份证号码记录的方法
2019/04/26 Javascript
Python中的time模块与datetime模块用法总结
2016/06/30 Python
Python实现代码统计工具(终极篇)
2016/07/04 Python
python MysqlDb模块安装及其使用详解
2018/02/23 Python
解决pycharm 误删掉项目文件的处理方法
2018/10/22 Python
值得收藏的10道python 面试题
2019/04/15 Python
python 对字典按照value进行排序的方法
2019/05/09 Python
python ChainMap的使用和说明详解
2019/06/11 Python
python函数的万能参数传参详解
2019/07/26 Python
解决python有时候import不了当前的包问题
2019/08/28 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
2020/06/02 Python
Python绘制词云图之可视化神器pyecharts的方法
2021/02/23 Python
HTML5中的Web Notification桌面右下角通知功能的实现
2018/04/19 HTML / CSS
比利时买床:Beter Bed
2017/12/06 全球购物
医学护理系毕业生求职信
2013/10/01 职场文书
蓝颜请假条
2014/04/11 职场文书
法制宣传标语
2014/06/23 职场文书
就业协议书怎么填
2014/09/15 职场文书
五一劳动节慰问信
2015/02/14 职场文书
运动会观后感
2015/06/09 职场文书
浅谈mysql增加索引不生效的几种情况
2021/06/23 MySQL
vue中this.$http.post()跨域和请求参数丢失的解决
2022/04/08 Vue.js