微信小程序开发记录(四)地址栏传参之true和false的坑

先看看小程序地址栏传参的方法,如下

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判断保证传输值得类型不变,也可通过强制类型去转换。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值