微信小程序之两个页面传值
需求:发送页面通过url传值,接收页面获取值。
发送页面的js
var nowid='10'; wx.navigateTo({ url: '../index/index?id='+nowid, })
或者发送页面用navigate 组件:
<navigate url="xxx?id=10"></navigate >
如果id是page里面data的数据。是动态的,那么可以写成:
<navigate url="xxx?id={{pid}}"></navigate >
这种方式也是通过接收页面的onload来获取id的
接收页面的js
在接收页面onload的函数里就可以获取到值:
onLoad: function (options) { var _obj=options.id; console.log(_obj) }
(1) 接收页面获取到的 options 就是发送页面的 url 中 问号后面传过来的值
(2) 如果传过来的值是一个json对象,那么需要现在发送页面把这个对象JSON.Stringfy转化成字符串,然后 接收页面 再使用JSON.parse转化成json对象就行。
还有种方法是通过小程序的本地存储 wx.setStorage()等API接口来实现-----》发送页面存入,接收页面在接受。当然,不需要的时候可以把存入的数据删掉
还有一种方式就是:在app.js中设置数据,然后其它页面在需要的时候,就可以通过 app.数据等形式来获取。当然,需要在接收数据的页面声明 var app=getApp();
每天进步一点点。
拜托大家转载的时候记得贴上我文章的连接,原创不容易,给条活路呗