微信小程式開發記錄(四)位址列傳參之true和false的坑
阿新 • • 發佈:2018-12-18
先看看小程式位址列傳參的方法,如下
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判斷保證傳輸值得型別不變,也可通過強制型別去轉換。