vue.js - 如何将 Prop 传递给 Nuxt 中的页面?

标签 vue.js nuxt.js

我要做的就是将参数传递给 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 ,这很奇怪。你如何传递不止一个 Prop ?如果您不想弄乱页面命名约定怎么办?

但无论如何,它根本不起作用。似乎只能通过访问 this.$route.params.myprop 来获取参数的值。 ,这是不好的做法 as explained here .

那么如何设置路由“/users/123”,调用/pages 中的Users.vue 组件,并实际获取“123”作为 Prop ?

(不,我不会使用 VueX。仅仅使用全局状态来传递参数是非常糟糕的做法。)

最佳答案

下划线文件名系统是在 Nuxt.js 上创建动态路由的推荐方式。

How do you pass more than one prop?



文档中有一个部分是 dynamic nested routes :
pages/
--| _category/
-----| _subCategory/
--------| _id.vue
--------| index.vue
-----| _subCategory.vue
-----| index.vue
--| _category.vue
--| index.vue

这会给你一个 :category/:subCategory/:id路线。

此外,您可以使用 extendRoutes在 nuxt.config.js 或 router-module 中如果你想完全避免使用默认的 Nuxt 生成的路由。

关于vue.js - 如何将 Prop 传递给 Nuxt 中的页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60443520/

相关文章:

javascript - nuxtjs中如何控制路由渲染

javascript - 翻译 Bootstrap-Vue.js 中的表头

javascript - 如何正确设置Vuetify框架的两个抽屉导航?

javascript - 在Vuex的action方法中模拟延迟

javascript - 从 vue-router 的链接获取 'id' 值

css - 作用域样式影响其他页面

javascript - 如何在 Vue 中转发 $refs

javascript - 如何在 Vue 中加载 cdn 并访问它的对象?

javascript - 如何使 v-stepper 步骤始终显示在页面顶部?

nuxt.js - 如何在 Nuxt> 中添加客户端 js 库