我用基本路径创建了一个新的Vue应用程序。由于该应用程序已嵌入到另一个Vue应用程序中,因此该应用程序无法呈现router-view
在启动时。如果您想进一步了解此应用程序如何或为何嵌入到另一个应用程序中,请在此处查看:
我对这个问题的回答:
https://stackoverflow.com/a/58265830/9945420
启动我的应用程序时,它将呈现除以外的所有内容router-view
。我想在启动时通过给定的浏览器URL进行重定向。这是我的路由器配置:
import Vue from 'vue';
import Router from 'vue-router';
import One from './views/One.vue';
import Two from './views/Two.vue';
Vue.use(Router);
const router = new Router({
base: '/my-embedded-app/',
mode: 'history',
routes: [
{
path: '/',
component: One,
},
{
path: '/two',
component: Two,
},
],
});
router.replace(router.currentRoute.fullPath);
export default router;
我希望应用程序在调用时呈现组件Two.../my-embedded-app/two
。不幸的是,router.replace
总是重定向到/
(因此浏览器URL是.../my-embedded-app/
)。我调试了router
,发现路径为/
,但是我希望它是/two
。
重要说明:/two
url为时,
我不想将用户重定向到/
。我只想渲染视图Two
在url为时/two
。目前还没有。
可能是什么问题?也许我什至不需要重定向,并且可以以更优雅的方式解决问题。
您的意思是,您要在编写-/ my-embedded-app / one作为URL时呈现组件一,而在-/ my-embedded-app / two时呈现组件2吗?如果是,您是否尝试过-{路径:“两个”,组件:两个,}从“ /两个”中删除“ /”
—
urvashi
对,就是这样。我尝试了您的方法,但随后收到一条警告,指出该路线必须使用前导斜线。当运行应用程序这条路并没有那么工作..
—
hrp8sfH4xQ4
您可以更改路线的顺序吗?
—
VariableVasasMT