最近在研究微信小程序。在做一個簡單的購物小程序時,遇到一個問題:如何通過掃碼實現動態的跳轉頁面功能,
通過研究終於找到了解決方法:
首先當然要實現掃碼解析功能js的代碼:
click: function () {
var that = this;
var show;
wx.scanCode({
success: (res) => {
// this.show = "--result:" + res.result + "--scanType:" + res.scanType + "--charSet:" + res.charSet + "--path:" + res.path;
this.show = res.result;
that.setData({
show: this.show
})
},
fail: (res) => {
wx.showToast({
title: '失敗',
icon: 'success',
duration: 2000
})
},
complete: (res) => {
}
})
},
wxml如下:
<view class="saoma" bindtap="click">點我掃一掃</view>
然后在解析的代碼中添加跳轉的代碼在:
wx.scanCode({
success: (res) => {
// this.show = "--result:" + res.result + "--scanType:" + res.scanType + "--charSet:" + res.charSet + "--path:" + res.path;
this.show = res.result;
that.setData({
show: this.show
})
wx.navigateTo({
url: '../dingdan/dingdan'
})
},
那如何實現動態的跳轉呢?其實引用data中的show變量就好,首先
url: '../dingdan/dingdan'的格式是這樣動態的格式就是:
var test = this.data.show; //讀取data中show的值
wx.navigateTo({
//url: '../dingdan/dingdan?money=100'
url: '../' + test + '/' + test//動態跳轉頁面
})
通過代碼我們可以知道變量test其實為data的show值,而show的值通過上邊的掃碼解析實現了動態改變show的值
如果我們要跳轉到url: '../no1/no1'的頁面只要我們生成內容為‘no1’的二維碼就可以了
*要跳轉到url: '../no1/no1'首先要app.json存在pages/no1/no1
*要有no1這個文件夾
*no1的二維碼解析后show將變為no1,所以要在改變后才引用show才動態跳轉
