小程序是一种新的开放能力,开发者可以快速地开发一个小程序。小程序可以在微信内被便
捷地获取和传播,同时具有出色的使用体验。对于微信小程序,前端开发应该不陌生,目前也
是非常火,很多公司都会进行开发。对于小程序的优点我就不到这过多描述了,今天我是想来
总结下微信小程序页面和组件传值。
1.页面与页面传值-跳转的url带参传值
微信小程序页面直接传值我们经常用到的是页面URL跳转传值,跳转到的页面通过到生命周
期onLoad里面接收。
//A页面Page({ data:{ }, linkTo:function(){//页面事件绑定方法 let data = 'hello world'; wx.navigateTo({ url: '/pages/my/index?name=' + data, }) } })//B页面 Page({ data:{ name:' ' }, onLoad:function(option){//接收数据 this.setData({ name: option.name }) } })如果页面有多个值要传,直接用&符合链接起来就可以了。比如'/pages/my/index?name=' + data1+'&number='+data2;
2.页面与页面传值-全局globalData传值
//app.jsApp({ onLaunch (options) { // Do something initial when launch. }, onShow (options) { // Do something when show. }, onHide () { // Do something when hide. }, onError (msg) { console.log(msg) }, globalData: { name:'hello world' }})//A页面const app = getApp();//获取全局对象Page({ data:{ }, onLoad:function(){ let name = app.globalData.name; console.log(name);//hello world } })
全局数据的拿去是通过拿去globalData对象,再到其他页面获取,当然你也可以
修改全局对象里面数据其他页面从新去获取。
//A页面const app = getApp();//获取全局对象Page({ data:{ }, onLoad:function(){ app.globalData.name='微信小程序'; //修改全局数据 } })//B页面const app = getApp();//获取全局对象Page({ data:{ }, onLoad:function(){ let name = app.globalData.name; console.log(name);//微信小程序 } })
2.页面与页面传值-页面数据缓存wx.setStorageSync(KEY,DATA)
//A页面Page({ data:{ }, onLoad:function(){ wx.setStorage({ key:"name