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

回到顶部