Stworzyłem nową aplikację Vue ze ścieżką podstawową. Ponieważ aplikacja jest osadzona w innej aplikacji Vue, ta aplikacja nie wyświetla router-view
po uruchomieniu. Jeśli chcesz dowiedzieć się więcej o tym, jak i dlaczego ta aplikacja jest osadzona w innej aplikacji, spójrz tutaj:
montuj aplikacje Vue w pojemniku głównej aplikacji Vue
i moja własna odpowiedź na ten problem:
https://stackoverflow.com/a/58265830/9945420
Podczas uruchamiania mojej aplikacji renderuje wszystko oprócz router-view
. Chcę przekierować przy uruchomieniu przez podany adres URL przeglądarki. To jest moja konfiguracja routera :
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;
Chcę, aby aplikacja wyświetlała komponent drugi podczas połączenia .../my-embedded-app/two
. Niestety, router.replace
zawsze przekierowuje do /
(tak jest URL przeglądarki .../my-embedded-app/
). Debugowałem router
i zobaczyłem, że ścieżka jest /
, ale oczekiwałbym, że tak będzie /two
.
Ważna uwaga:
nie chcę przekierowywać użytkownika, /two
ilekroć jest adres URL /
. Chcę tylko renderować widok, Two
gdy jest adres URL /two
. Obecnie tak nie jest.
Co może być nie tak? Może nawet nie potrzebuję tego przekierowania i mogę rozwiązać problem w bardziej elegancki sposób.