Javascript Vue Js路由-无路径的父级
目前我正在从事一个项目,其中我有两个组件,分别是Javascript Vue Js路由-无路径的父级,javascript,vue.js,routing,vue-router,Javascript,Vue.js,Routing,Vue Router,目前我正在从事一个项目,其中我有两个组件,分别是路由器视图、身份验证和仪表板。这两个组件具有不同的html结构,但在路由路径:'中使用相同的基本路径 路由文件如下所示: { path: '/', component: Dashboard, children: [ ... ], path: '/', component: Auth, children: [ ... ] } 当然,这会造成复杂性,因为路径是相同的。有没有办法让父组件没有路径 您可以创
路由器视图
、身份验证
和仪表板
。这两个组件具有不同的html结构,但在路由路径:'
中使用相同的基本路径
路由文件如下所示:
{
path: '/',
component: Dashboard,
children: [
...
],
path: '/',
component: Auth,
children: [
...
]
}
当然,这会造成复杂性,因为路径是相同的。有没有办法让父组件没有路径 您可以创建一个新组件,有条件地显示
仪表板
或Auth
组件,然后将其设置为路由配置中'/'
路径的组件
大概是这样的:
<template>
<auth v-if="isAuthenticating" />
<dashboard v-else />
</template>
您可以创建一个新组件,有条件地显示
仪表板或Auth
组件,然后将其设置为路由配置中'/'
路径的组件
大概是这样的:
<template>
<auth v-if="isAuthenticating" />
<dashboard v-else />
</template>
谢谢您的评论。是的,这是一个选择。但是VUE开发者认为这是一个“干净”的解决方案吗?这取决于应用程序的复杂性。这种方法的一个相当大的缺点是,对于route+auth的每个组合,都需要一个组件。在这个意义上,我不认为它是干净的,但是如果你只有两条路线,你想处理Authon,那么这可能是最直接的解决方案。我不确定你的项目设计是什么,但在不改变路线的情况下处理登录的一种更常见的方法是,单击登录按钮时,在模式对话框中显示用户名/密码表单。谢谢你的评论。是的,这是一个选择。但是VUE开发者认为这是一个“干净”的解决方案吗?这取决于应用程序的复杂性。这种方法的一个相当大的缺点是,对于route+auth的每个组合,都需要一个组件。在这个意义上,我不认为它是干净的,但是如果你只有两条路线,你想处理Authon,那么这可能是最直接的解决方案。我不确定您的项目设计是什么,但在不更改路径的情况下处理登录的更常见方法是,单击登录按钮时在模式对话框中显示用户名/密码表单。您找到解决方案了吗?我正在做类似的事情,我认为这是唯一的办法。@BlackCode我很抱歉这已经是很久以前的事了。我最终将Auth
组件的路径更改为/Auth
(我想)。也许你应该提出一个新的问题来解释你想要什么,在评论中给我贴上标签什么的。谢谢!别担心,托马斯。最后,我会像你一样做,但是如果用户没有登录或者页面需要auth:,我会使用导航卫士重定向。)你找到解决方案了吗?我正在做类似的事情,我认为这是唯一的办法。@BlackCode我很抱歉这已经是很久以前的事了。我最终将Auth
组件的路径更改为/Auth
(我想)。也许你应该提出一个新的问题来解释你想要什么,在评论中给我贴上标签什么的。谢谢!别担心,托马斯。最后,我会像您一样使用导航卫士重定向,以防用户未登录或页面需要auth:)