Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Angular4.x+Ionic3 踩坑之路之 Ionic3.x pop反向传值大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

1.Ionic3.x 页面正向传值

关于正向传值,上一篇文章里面有讲,具体可以看这里
https://segmentfault.com/a/11...

2.Ionic3.x 页面 pop反向传值,主要有两种方式

  • 1 .利用ES6提供 Promise 对象
  • 2 利用Ionic3.x提供Event对象,观察者模式(publish/subscribe)

这边假设有两个页面A页面,B页面,情景如下,A跳转B页面,在B页面返回A页面需要给A页面选回的值。

A页面代码

<button (tap)="goToBPage()">跳转到B页面</button>

import BPage from './BPage'
export class APage{

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
     })
 }

}

B页面代码

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();
   });
  }
event对象主要有3个方法
  • 发布publish(topic,eventData)

    参数一是发布事件名字,第二个参数就是要发送数据,其实还可以传送第三,第四...等,都 是可以传送数据的

  • 订阅 subscribe(topic,handler)

    参数一是要接收的事件名称,第二个参数代表发布时传送的参数,如果发布有传第三个参数,同样的订阅的第三个参数就是对应的发布的第三个参数,以此类推....

  • 取消订阅 unsubscribe(topic,handler)

    参数一是要取消订阅的事件的名称,第二是一个回调函数,返回值:如果被移除成功,返回true

A页面代码

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页面数据');
  });
}

总结@H_404_89@

以上主要介绍反向传值的2种方法,当然还有其它方法,如果你有更好 的方法,欢迎留言讨论

大佬总结

以上是大佬教程为你收集整理的Angular4.x+Ionic3 踩坑之路之 Ionic3.x pop反向传值全部内容,希望文章能够帮你解决Angular4.x+Ionic3 踩坑之路之 Ionic3.x pop反向传值所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: