官方提供跳转方法就是:
uni.navigateTo({
url: 'xxx?name=xx&age=xx...'
})
如果需要传递多个参数,?
后面就得跟很长一串,看起来很乱,所以想要把它改成使用json格式传参。
创建文件navTo.js
代码:
/**
* @export
* @param {*} url 跳转地址
* @param {*} data 参数 json格式
* @returns
*/
const go = function(url, data){
url += (url.indexOf('?') < 0 ? '?' : '&') + param(data)
uni.navigateTo({
url
})
}
export function param (data) {
let url = ''
for (var k in data) {
let value = data[k] !== undefined ? data[k] : ''
url += '&' + k + '=' + encodeURIComponent(value)
}
return url ? url.substring(1) : ''
}
export {go}
然后再main.js
中注册一下:
import * as navTo from '@/utils/navTo.js'
...
Vue.prototype.$navTo = navTo
使用:
this.$navTo.go('xxx', {
name: 'xx',
age: 'xx',
...
})
— END —