1、打開一個頁面
wx.navigateTo,這個方法不會關閉現有的頁面
wx.navigateTo({ url: '../company/companysel?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方法,可以在選擇一行數據,直接調用,也可以選擇數據后,點【確定】按鈕調用。
以下是執行的輸出:

下面三行就是執行cellClick以后頁面收到的值。