【发布时间】:2020-06-12 01:46:00
【问题描述】:
我要做的只是将参数传递给 Nuxt 中的页面。在 Vue 中,这很容易:
<router-link :to="{ name: 'user', params: { userId: 123 }}">User</router-link>
或
<router-link to="/user/123">User</router-link>
你只需要在 router.js 中正确定义你的路由。
我还没有在 Nuxt 中找到方法。
在 Nuxt 文档中有一些关于使用下划线定义动态路由 here 的参考,这很奇怪。你如何传递多个道具?如果您不想弄乱页面命名约定怎么办?
但无论如何,它根本行不通。似乎只能通过访问this.$route.params.myprop 来获取参数的值,这是一种不好的做法as explained here。
那么如何设置路由“/users/123”,调用/pages中的Users.vue组件,并实际得到“123”作为prop?
(不,我不会使用 VueX。仅使用全局状态来传递参数是非常糟糕的做法。)
【问题讨论】:
-
Nuxt 会将文件从目录
/users/_userId.vue转换为路由/usesrs/:userId。那么它应该可以工作了。