美文网首页
微信小程序页面跳转时数据传输

微信小程序页面跳转时数据传输

作者: 波叫怪 | 来源:发表于2019-05-03 20:22 被阅读0次

本篇文章主要记录3种页面跳转时数据的传输方式

url传输

单个数据可以直接传输,但是如果要传输数组字典等复杂类型,要先使用JSON.stringify()转换成字符串再进行传输。

注意:这种方法传输时,==如果值里面存在?或者&可能会发生错误==,例如网址就会出错

解决方法:可以将参数先进行转码再传输,或者用缓存吧哈哈哈

//向D页面传递数据name,id;使用&连接不同的变量

var name = 'abc';

var id = 3;

wx.navigateTo({

    url:'../pageD/pageD?name='+ name + '&id=' + id

})   

//如果要传输数组字典等复杂类型,要先使用JSON.stringify()转换成字符串传递

var detail = [{ 

    "userid": app.data.user.id,   

    "goodid": this.data.list[i].id, 

    "addressid": this.data.address.id,

    "number": this.data.list[i].count,

    "totalPrice": this.data.list[i].total_price,

    "date": this.data.date

}]

wx.navigateTo({

    url:'../pageD/pageD?good_detail='+ JSON.stringify(detail)

})

//接受数据

onLoad:function(e){

console.log(e.name) ;

console.log(e.id);

//如果是转换成字符串的字典等数据,需要先进行转换

var detail = JSON.parse(e.detail);

console.log(detail);

  }

为上一页的变量赋值

通过页面栈获取上一页面的路由,然后为上一页面赋值

//A页面有一个address变量

data: {

  address:{}

}

//B页面中为A页面的address赋值

var pages = getCurrentPages(); // 获取页面栈

var currPage = pages[pages.length - 1]; // 当前页面

var prevPage = pages[pages.length - 2]; // 上一个页面

if(prevPage.__route__ == 'pages/A/A'){// 这边判断上一界面是哪一个

    wx.navigateBack({

        delta:1,

        success:function(res){

            console.log("地址获取成功")

            prevPage.setData({ //为address赋值

                address: '123'

            })

        },

        fail:function(){

            console.log('地址获取失败')

        }

    })

}

缓存

缓存可以用来保存很多信息,有些小程序的购物车就是利用缓存制作的,缓存就是在本机建立的一个小型数据库

//A页面保存数据

wx.setStorageSync('data_goods', list)

//B页面接收数据

li = wx.getStorageSync('data_goods')

//接收了之后别忘了从缓存中去除掉

wx.removeStorageSync('data_goods')

全局变量

将某些数据设置为全局变量,供所有页面访问,例如用户信息

//app.js设置全局变量

App({

globalData:{

  userInfo:null

}

})

//其他页面使用全局变量

var app = getApp()

app.globalData.userInfo = res.data.data.userInfo

相关文章

  • 2020-09-28

    微信小程序点击按钮跳转到指定页面 首先这是一个仿微信页面的通讯录列表: 当点击页面右侧的字母栏时,页面将跳转到相应...

  • 小程序页面跳转解析

    对于两个或更多页面的微信小程序而言,页面之间的跳转是在所难免的。 有关小程序页面间跳转的 API 函数,微信一共为...

  • 微信小程序:服务通知跳转长链接

    问题: 在微信的服务通知里面跳转微信小程序页面,小程序页面链接需要带一个h5页面链接,跳转后显示页面不存在。 定位...

  • 微信小程序-页面跳转

    微信小程序-页面跳转 一、在app.json中配置跳转页面: logs为当前将要跳转到的页面 { “pages”:...

  • 微信小程序-tabbar

    微信小程序使用自带的tabbar 在跳转到某个tab页面时,只能使用

  • 小程序页面跳转和跳转时的数据传递

    本文介绍微信小程序页面跳转的两种方式及页面跳转时的数据传递。 跳转的数据传递 类似 Android 的 Inten...

  • 微信小程序页面跳转方法总结

    微信小程序页面跳转目前有以下方法(不全面的欢迎补充): 1. 利用小程序提供的 API 跳转: // 保留当前页面...

  • 跳转大全

    微信小程序页面跳转目前有以下方法(不全面的欢迎补充): 1. 利用小程序提供的 API 跳转: //保留当前页面,...

  • APP跳转小程序,小程序跳转APP,看我就够了

    本文涉及的内容:APP跳转小程序,跳转指定页面,传参。APP分享小程序。小程序跳转APP,传参。默认已集成微信SD...

  • 微信小程序的跳转方式

    微信小程序有5种跳转方式 switchTab这种跳转只能跳转到 tabBar 配置的页面 navigateBack...

网友评论

      本文标题:微信小程序页面跳转时数据传输

      本文链接:https://www.haomeiwen.com/subject/fgbznqtx.html