1. 程式人生 > >微信小程式開發記錄(四)位址列傳參之true和false的坑

微信小程式開發記錄(四)位址列傳參之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判斷保證傳輸值得型別不變,也可通過強制型別去轉換。