【发布时间】:2023-01-23 03:58:09
【问题描述】:
我创建了一个动态路由/dashboard/[username].vue。当我通过输入 url 导航到此页面时,一切正常,route.params.username 设置为 url 中传递的值。但是,当我通过NuxtLink 导航到此页面时,route.params 是一个空对象,尽管 url 设置正确。我的NuxtLink 看起来像这样:
<NuxtLink
class="btn btn-primary"
:to="{ name: 'dashboard-username', params: { username } }"
>Continue</NuxtLink
>
我也试过这个,结果是一样的:
<NuxtLink
class="btn btn-primary"
:to="`/dashboard/${username}`"
>Continue</NuxtLink
>
难道我做错了什么?我个人认为这种行为很奇怪。使用链接导航到仪表板后,参数未定义。但是当我重新加载同一页面时,值突然被正确设置了。
【问题讨论】:
-
您确定在导航到“仪表板/[用户名]”之前设置了用户名变量吗?用户名从哪里获得它的价值?
-
它由文本输入字段设置并使用 v-model 绑定。我 100% 确定此变量工作正常,因为在导航后正确设置了 url。但是,route.params 是空的,但如果我刷新同一页面,它就会被设置。在我看来,路由器/SPA 有问题。
标签: nuxt.js vuejs3 vue-router nuxtjs3