微信小程序中页面间传值,并且赋值到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赋值是没有办法动态绑定的。

上一篇下一篇

猜你喜欢

热点阅读