기본 경로로 새로운 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;
호출 할 때 앱이 구성 요소 2 를 렌더링하도록하고 싶습니다 .../my-embedded-app/two
. 안타깝게도 router.replace
항상 /
브라우저 URL 이로 리디렉션됩니다 .../my-embedded-app/
. 나는을 디버깅하고 router
경로가 있음을 보았지만 그 경로가 /
기대됩니다 /two
.
중요 사항 :/two
URL이 때마다
사용자를 리디렉션하고 싶지 않습니다 /
. Two
URL이 인 경우 보기를 렌더링하고 싶습니다 /two
. 현재는 그렇지 않습니다.
무엇이 잘못 되었나요? 어쩌면 나는 그 리디렉션이 필요하지 않으며 문제를보다 우아한 방법으로 해결할 수 있습니다.