先看看小程序地址栏传参的方法,如下
wxml:
<view class="weui-cells weui-cells_after-title" wx:if="{{isNewUser}}">
<navigator url="../address/address?isNewUser=true" class="weui-cell weui-cell_access new-user" hover-class="weui-cell_active">
<view class="weui-cell__bd">
<text class="new-user-word">没有地址信息,请点击添加地址</text>
</view>
<view class="weui-cell__ft weui-cell__ft_in-access"></view>
</navigator>
</view>
跳转到的页面的js:
onLoad: function (options) {
var that = this;
console.log(options);
that.setData({
isNewUser:options.isNewUser
})
},
以上代码就可以实现,跳转页面地址栏的传输和接收,但是实际操作中会发现最常用的true和false的传输,拿到新的页面去做判断并不好使,这个细节需要参考字符串‘true’,'false'和布尔值true和false的区别(自行百度或者谷歌),遇到这种问题上一个最简单粗暴的解决方法,如下:(有更好的方法会接着补充,欢迎提供)
跳转到的页面的js的实际代码如下:
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
var that = this;
console.log(options);
if(options.isNewUser==='true'){
console.log("if true");
that.setData({
isNewUser: true
})
} else if (options.isNewUser === 'false'){
console.log("if false");
that.setData({
isNewUser: false
})
}
},
以上代码可以解决通过地址栏传输参数接收出现的问题,通过if判断保证传输值得类型不变,也可通过强制类型去转换。