vue-router 如何优雅传参嵌套的对象?
在传递嵌套的对象时,拿到的是字符串 '[object Object]'
, 而不是原始的对象.
router.push({ name: 'somewhere', params: { oops: { a: { b: { c: 'gets removed'} } } })
console.log(route.params.oops); // '[object Object]'
除了使用 oops: (JSON.stringify(oops))
还有更合适的方案传参吗?
回答:
你这个是跨组件通讯,而不是单纯的路由参数。需要使用 vuex
或者 pinia
来实现。当然也可以通过 localStorage
来简单实现。
当然你如果你非要做也可以,但你在路由上面来处理一点也不优雅,也不合适。
var a = { b: {
c : {
d: 1
}
}
}
const params = btoa(JSON.stringify(a))
console.log('params', params)
// "eyJiIjp7ImMiOnsiZCI6MX19fQ=="
以上是 vue-router 如何优雅传参嵌套的对象? 的全部内容, 来源链接: utcz.com/p/935355.html