1. 程式人生 > 實用技巧 >wx.navigateTo開啟新頁面,並傳值,選擇後返回值到首頁

wx.navigateTo開啟新頁面,並傳值,選擇後返回值到首頁

1、開啟一個頁面

wx.navigateTo,這個方法不會關閉現有的頁面
wx.navigateTo({
      url: '../company/companymanager?st_id=2&ct_id=1',
      events: {
        // 為指定事件新增一個監聽器,獲取被開啟頁面傳送到當前頁面的資料
        acceptDataFromOpenedPage: function(data) {
          console.log(data)
        },
        someEvent: function(data) {
          console.log(data)
        },
        helloEvent:function(data) {
          console.log(data)
        },
      },
      success: function(res) {
        
// 通過eventChannel向被開啟頁面傳送資料 res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'test' }) } }) },

2、開啟頁面裡接收引數,並且選擇後,返回值到前一個頁面

onLoad: function (options) {
      wx.showToast({
        title: options.ct_id+","+options.st_id,
      })
      const eventChannel = this.getOpenerEventChannel()
      eventChannel.emit(
'acceptDataFromOpenedPage', {data: 'test1'}); eventChannel.emit('someEvent', {data: 'test2'}); // 監聽acceptDataFromOpenerPage事件,獲取上一頁面通過eventChannel傳送到當前頁面的資料 eventChannel.on('acceptDataFromOpenerPage', function(data) { console.log(data) }) },
cellClick:function(){
const eventChannel = this.getOpenerEventChannel() eventChannel.emit('acceptDataFromOpenedPage', {companyid:1,companyname: 'test1'}); eventChannel.emit('someEvent', {companyid:2, companyname: 'test2'}); eventChannel.emit('helloEvent',{test:2, test2: 'hello'}); },

3、說明

acceptDataFromOpenedPage、
someEvent、
helloEvent、

這3個都為自定義名稱,實時的進行頁面之前的資料的通訊。
cellClick方法,可以在選擇一行資料,直接呼叫,也可以選擇資料後,點【確定】按鈕呼叫。