微信小程序中页面间传值,并且赋值到data
2019-04-08 本文已影响0人
张路1806
记录初学微信小程序中的坑
在小程序中传值方式有几种,这里记录一下使用过的传值,并且附上例子:
首先是url传值
<navigator class="change"
url="/pages/change/change?lang=English"
hover-class="navigator-hover">
到{{lang}}
</navigator>
这样就可以在change页面获取到lang的值,因为我使用的是动态的,没看出来这个地方怎么动态地添加成正常pc端写法url=
/pages/change/change?lang=${lang}``,所以我只是在change页面获取到这个English
就没有继续做下去
onLoad: function (options) { console.log(options) },
在这个options
对象上就可以找到我们传递的值
补充:这里动态的写法是
url="/pages/change/change?lang={{lang}}"
app.globalData上赋值
这个是利用app.json中的实例页面通用全局变量来访问。
在前一个页面使用app.globalData.lang = this.data.lang
后一个页面onLoad中使用this.setData({currentLang : app.globalData.lang})
动态赋值到当前页面的data上,值得注意的是不能直接在data中赋值
data: {
langsArry:["xibanya","chinese","English"],
currentLang: app.globalData.lang
},
因为在页面onLoad之前都是访问不到这个app.globalData.lang的
还有就是因为小程序这个data必须使用setData才能动态绑定值,所以直接this.data赋值是没有办法动态绑定的。