如何解决如何使用nuxt.js中的router.push自动路由到嵌套子项
我正在使用 nuxt.js。这是我的文件目录:
-- pages
-- aaa.vue
-- aaa (directory)
-- bbb.vue
what i see in the generated file: router.js in .nuxt (directory):
routes: [{
path: "/aaa",component: _5d6eb9d6,name: "aaa",children: [{
path: "bbb",component: _15576d9f,name: "aaa-bbb"
}]
}],
这是我想要做的:
从 localhost:3000/aaa ,我提交了一个表格。它呼吁休息 服务,然后自动转到“bbb”屏幕。
我尝试使用 this.$router.push({ name: "aaa-bbb" }) 但它仍然停留在 "aaa" 屏幕。 >
如果我重命名 aaa.vue(例如:到 111.vue)或“aaa”目录(例如:到“222”)。然后我可以路由到“bbb”屏幕。但我不喜欢这种方式。
请帮忙。
解决方法
您应该删除根目录的 aaa.vue
,并在 index.vue
目录中将其重命名为 aaa
。
在我看来,这不是要混合使用。如果您记录 nuxt 创建的路由,则您目录中的所有页面都将作为子对象附加到您的 'aaa.vue' 文件(属性“children”)中的路由。
// extract of console.log(routes)
{
name: 'aaa',path: '/aaa',component: '/nuxt/pages/aaa.vue',chunkName: 'pages/aaa',children: [
[Object],[Object],[Object]
]
}
如果你把 index.vue 放在你的目录中,nuxt 会为每个文件创建一个自己的条目。
可能实现您想要的唯一方法是在 nuxt.config.js 中手动扩展路由,请参阅 nuxt 文档中的 extendRoutes。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。