Criei um novo aplicativo Vue com um caminho base. Devido ao fato de o aplicativo estar incorporado a outro aplicativo Vue, esse aplicativo não renderiza a router-view
inicialização. Se você quiser saber mais sobre como ou por que esse aplicativo está incorporado a outro aplicativo, dê uma olhada aqui:
montar aplicativos Vue no contêiner do aplicativo principal Vue
e minha própria resposta para esse problema:
https://stackoverflow.com/a/58265830/9945420
Ao iniciar meu aplicativo, ele processa tudo, exceto o router-view
. Quero redirecionar na inicialização pelo URL do navegador fornecido. Esta é a minha configuração de roteador :
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;
Quero que o aplicativo renderize o componente Dois ao chamar .../my-embedded-app/two
. Infelizmente, router.replace
sempre redireciona para /
(portanto, o URL do navegador é .../my-embedded-app/
). Eu depurei o router
e vi que o caminho é /
, mas eu esperava que fosse /two
.
Nota importante:
não quero redirecionar o usuário para /two
sempre que o URL estiver /
. Eu só quero renderizar a exibição Two
quando o URL estiver /two
. Atualmente não.
O que pode estar errado? Talvez eu nem precise desse redirecionamento e consiga resolver o problema de uma maneira mais elegante.