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 相关文章推荐
Javascript this 的一些学习总结
Aug 02 Javascript
JQuery 图片的展开和伸缩实例讲解
Apr 18 Javascript
javaScript中slice函数用法实例分析
Jun 08 Javascript
jquery序列化方法实例分析
Jun 10 Javascript
jQuery实现分章节锚点“回到顶部”动画特效代码
Oct 23 Javascript
详解javascript函数的参数
Nov 10 Javascript
Vue组件开发初探
Feb 14 Javascript
JQuery中Ajax的操作完整例子
Mar 07 Javascript
javascript cookie的基本操作(添加和删除)
Jul 24 Javascript
Angular2 父子组件通信方式的示例
Jan 29 Javascript
jquery实现弹窗(系统提示框)效果
Dec 10 jQuery
原生js实现无缝轮播图效果
Jan 28 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
模仿OSO的论坛(二)
2006/10/09 PHP
php统计时间和内存使用情况示例分享
2014/03/13 PHP
PHP以mysqli方式连接类完整代码实例
2014/07/15 PHP
PHP+FastCGI+Nginx配置PHP运行环境
2014/08/07 PHP
php禁止浏览器使用缓存页面的方法
2014/11/07 PHP
关于PHP中字符串与多进制转换函数的实例代码
2016/11/03 PHP
用prototype实现的简单小巧的多级联动菜单
2007/03/24 Javascript
javascript 嵌套的函数(作用域链)
2010/03/15 Javascript
JavaScript 高效运行代码分析
2010/03/18 Javascript
JavaScript 错误处理与调试经验总结
2010/08/10 Javascript
JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
2010/12/10 Javascript
Javascript 键盘事件的组合使用实现代码
2012/05/04 Javascript
js添加绑定事件的方法
2016/05/15 Javascript
浅谈js中子页面父页面方法 变量相互调用
2016/08/04 Javascript
移动设备手势事件库Touch.js使用详解
2017/08/18 Javascript
原生js实现拖拽功能基本思路详解
2018/04/18 Javascript
JS闭包经典实例详解
2018/12/20 Javascript
vue v-for直接循环数字实例
2019/11/07 Javascript
vue如何使用async、await实现同步请求
2019/12/09 Javascript
vue中用 async/await 来处理异步操作
2020/07/18 Javascript
Python内置数据类型详解
2014/08/18 Python
Python模拟用户登录验证
2017/09/11 Python
使用Python制作微信跳一跳辅助
2018/01/31 Python
python PyTorch预训练示例
2018/02/11 Python
python,Java,JavaScript实现indexOf
2020/09/09 Python
美国大型的健身社区和补充商店:Bodybuilding.com
2016/09/06 全球购物
芭比波朗加拿大官方网站:Bobbi Brown Cosmetics CA
2020/11/05 全球购物
澳大利亚在线床零售商:Bedworks
2020/09/01 全球购物
幼儿园长自我鉴定
2013/10/17 职场文书
葛优非诚勿扰搞笑征婚台词
2014/03/17 职场文书
股权投资意向书
2014/04/01 职场文书
小学学习雷锋活动总结
2014/07/03 职场文书
家长学校培训材料
2014/08/20 职场文书
《黄山奇石》教学反思
2016/02/18 职场文书
MySQL 数据库 增删查改、克隆、外键 等操作
2022/05/11 MySQL
Django数据库(SQlite)基本入门使用教程
2022/07/07 Python