Angular 4.x+Ionic3踩坑之Ionic 3.x界面传值详解
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这两个强大 的模块,这两个还有很多方法 ,大家要进一步学习,可以到官方文档查看哦。
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
上一篇: Sql Server2008R2下载地址
下一篇: 浅谈React高阶组件