আমি একটি বেস পাথ দিয়ে একটি নতুন ভ্যু অ্যাপ তৈরি করেছি। অ্যাপটি অন্য ভ্যু অ্যাপ্লিকেশনটিতে এম্বেড হওয়ার কারণে, এই অ্যাপ্লিকেশনটি router-viewপ্রারম্ভকালে রেন্ডার করে না । এই অ্যাপটি কীভাবে বা অন্য অ্যাপটিতে এম্বেড করা হয়েছে সে সম্পর্কে আপনি যদি আরও জানতে চান তবে দয়া করে এখানে একবার দেখুন:
প্রধান ভ্যু অ্যাপ্লিকেশনটির ধারক মধ্যে ভ্যু অ্যাপ্লিকেশনগুলি মাউন্ট করুন
এবং এই সমস্যার আমার নিজস্ব উত্তর:
https://stackoverflow.com/a/58265830/9945420
আমার অ্যাপ্লিকেশন শুরু করার সময়, এটি ব্যতীত সমস্ত কিছুই রেন্ডার করে router-view। আমি প্রদত্ত ব্রাউজার ইউআরএল দ্বারা শুরুতে পুনর্নির্দেশ করতে চাই। এটি আমার রাউটার কনফিগারেশন:
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যখনই ইউআরএল থাকি তখন ব্যবহারকারীকে পুনর্নির্দেশ করতে চাই না /। Twoইউআরএল হলে আমি কেবল ভিউ রেন্ডার করতে চাই /two। বর্তমানে তা হয় না।
কী ভুল হতে পারে? হতে পারে আমার সেই পুনঃনির্দেশের প্রয়োজনও নেই এবং সমস্যাটিকে আরও মার্জিত উপায়ে সমাধান করতে পারেন।