मैंने आधार पथ के साथ एक नया Vue ऐप बनाया। इस तथ्य के कारण ऐप को दूसरे Vue ऐप में एम्बेड किया गया है, यह ऐप router-view
स्टार्टअप पर रेंडर नहीं करता है । यदि आप इस बारे में अधिक जानना चाहते हैं कि यह ऐप किसी अन्य ऐप में कैसे या क्यों एम्बेड किया गया है, तो कृपया यहां देखें:
Vue ऐप्स को मुख्य Vue ऐप के कंटेनर में माउंट करें
और इस समस्या का मेरा अपना जवाब:
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;
मैं चाहता हूं कि एप्लिकेशन कॉल करते समय घटक दो को रेंडर करे .../my-embedded-app/two
। दुर्भाग्य से, router.replace
हमेशा /
(इसलिए ब्राउज़र URL है .../my-embedded-app/
) को पुनर्निर्देशित करता है । मैंने डिबग किया router
, और देखा कि रास्ता है /
, लेकिन मैं यह होने की उम्मीद करूंगा /two
।
महत्वपूर्ण सूचना:/two
जब भी url हो,
मैं उपयोगकर्ता को पुनर्निर्देशित नहीं करना चाहता /
। मैं सिर्फ उस दृश्य को प्रस्तुत करना चाहता हूं Two
जब यूआरएल है /two
। वर्तमान में यह नहीं है।
क्या गलत हो सकता है? शायद मुझे उस पुनर्निर्देशन की भी आवश्यकता नहीं है, और समस्या को अधिक सुरुचिपूर्ण तरीके से हल कर सकते हैं।