Angular4.x+Ionic3 踩坑之路之 Ionic3.x pop反向传值
发布时间:2020-12-17 08:23:50 所属栏目:安全 来源:网络整理
导读:1.Ionic3.x 页面正向传值 关于正向传值,上一篇文章里面有讲,具体可以看这里 https://segmentfault.com/a/11... 2.Ionic3.x 页面 pop反向传值,主要有两种方式 1 .利用ES6提供 Promise 对象 2 利用Ionic3.x提供Event对象,观察者模式(publish/subscribe) 1)利
1.Ionic3.x 页面正向传值关于正向传值,上一篇文章里面有讲,具体可以看这里 2.Ionic3.x 页面 pop反向传值,主要有两种方式
1)利用ES6提供 Promise 对象 这边假设有两个页面A页面,B页面,情景如下,A跳转B页面,在B页面返回A页面需要给A页面选回的值。 A页面代码html内容 <button (tap)="goToBPage()">跳转到B页面</button> ts 内容: import BPage from './BPage' constructor(public navCtrl: NavController,public navParams: NavParams) { } // 用于pop 回调的 block callBackFromB =(params) => { return new Promise((resolve,reject) => { if(params){ resolve('成功取到B页面返回的参数'); console.log('B页面参数为: '+ params); }else{ reject(‘取回B页面数据失败’) } }); } goToBPage (){ this.navCtrl.push(BPage,{ callback: this.callBackFromB }) } } 备注:Promise是由Es6提供的一个对象,new一个对象,有两个回调函数,一个是resove,一个是reject,resove是执行成功的回调,也就是我们调用 B页面代码ts 内容: constructor(public navCtrl: NavController,public navParams: NavParams) { // 获取对面A传过来的回调方法 this.callback = this.navParams.get("callback") } goBack(){ let param = '我是要给A页面数据' this.callback(param).then(()=>{ // pop返回方法 this.navCtrl.pop(); }); } 1)利用Ionic3.x提供Event对象,观察者模式(publish/subscribe) event对象主要有3个方法
实现反向传值代码如下 A页面代码ts代码 goToBPage(){ this.events.subscribe('bevents',(params) => { // 接收B页面发布的数据 console.log('接收数据为: '+ paramsVar); // 取消订阅 this.events.unsubscribe('bevents'); }) this.navCtrl.push(BPage); } B页面代码ts代码 goBack(){ this.navCtrl.pop().then(() => { // 发布 bevents事件 this.events.publish('bevents','我是B页面数据'); }); } 总结以上主要介绍反向传值的2种方法,当然还有其它方法,如果你有更好 的方法,欢迎留言讨论**愿你成为终身学习者** (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |