微信路由navigateTo
// pages/index/index.js Page({ /** * 页面的初始数据 */ data: { res:2 }, search: function(e) { var that = this; var url = '../test/test?name=' + 'dataitem1' console.log(url) wx.navigateTo({ url: url, events: { // 页面回调监听 acceptDataFromOpenedPage: function(data) { console.log(data) }, test: function(data) { console.log(data) console.log(that.data.res) } }, success: function(res) { // 传送数据给打开的页面 res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'dataitem2' }) } }) }, onShow: function(e) { //getCurrentPages获取的对象在非当前页可以更改当前页的数据 console.log(this.data.res) }, })
// pages/test/test.js Page({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function(options) { // 监听事件,获取上一页面通过eventChannel传送到当前页面的数据 const eventChannel = this.getOpenerEventChannel() eventChannel.emit('acceptDataFromOpenedPage', { data: 'thisData' }); //获取上一页传送的数据 eventChannel.on('acceptDataFromOpenerPage', function(data) { console.log(data) }) }, back: function() { //获取页面栈 const CurrentPages = getCurrentPages() console.log(CurrentPages) const eventChannel = this.getOpenerEventChannel() eventChannel.emit('test', { data: '2' }); var chengres = CurrentPages[(CurrentPages.length - 2)]; if (chengres.route == "pages/index/index") { chengres.setData({ res: 33 }) wx.navigateBack({ delta: 2 }) } }, })