1.需求
路由页面跳转带参数,每一次都要拼接大量参数,不是很方便
// 路由跳转 越来越多的参数显得跳转比较冗余
this.$router.push('/pages/setting/index?a='+1+'&b=3'+'&name=宋子羡')
2.解决方案
利用函数转化参数
function isObject(data) { // 对象
const reslut = Object.prototype.toString.call(data) === '[object Object]'
if (reslut) {
return true
}
console.error('object 类型异常')
return false
}
// 转化 { a:1, b:2, c:3 } ==> a=1&b=2&c=3
function stringify(target = {}) {
// 必须是对象 object
if (!isObject(target)) {
return
}
return Object.keys(target).map(item => `${item}=${target[item]}`).join('&')
}
3.使用
// 配置使用的参数 自动通过函数转化
const params = {
a: 1,
b: 1,
c: 1,
d: 1,
name: "宋子羡"
}
// 路由跳转
this.$router.push(`/pages/setting/index?${stringify(params)}`)
4. 小骚话
求求关注啦,感谢🙏