Creé una nueva aplicación Vue con una ruta base. Debido al hecho de que la aplicación está incrustada en otra aplicación Vue, esta aplicación no representa el router-viewinicio. Si desea saber más acerca de cómo o por qué esta aplicación está integrada en otra aplicación, eche un vistazo aquí:
montar aplicaciones Vue en el contenedor de la aplicación Vue principal
y mi propia respuesta a este problema:
https://stackoverflow.com/a/58265830/9945420
Al iniciar mi aplicación, muestra todo excepto el router-view. Quiero redirigir al inicio por la URL del navegador dada. Esta es la configuración de mi enrutador :
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;
Quiero que la aplicación represente el componente Dos cuando llame .../my-embedded-app/two. Desafortunadamente, router.replacesiempre redirige a /(por lo que la URL del navegador es .../my-embedded-app/) Depuré el router, y vi que el camino es /, pero esperaría que fuera /two.
Nota importante:
no quiero redirigir al usuario a donde /twosea que esté la URL /. Solo quiero representar la vista Twocuando la url es /two. Actualmente no lo hace.
¿Qué puede estar mal? Tal vez ni siquiera necesito esa redirección, y puedo resolver el problema de una manera más elegante.