আমি একটি বেস পাথ দিয়ে একটি নতুন ভ্যু অ্যাপ তৈরি করেছি। অ্যাপটি অন্য ভ্যু অ্যাপ্লিকেশনটিতে এম্বেড হওয়ার কারণে, এই অ্যাপ্লিকেশনটি 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
। বর্তমানে তা হয় না।
কী ভুল হতে পারে? হতে পারে আমার সেই পুনঃনির্দেশের প্রয়োজনও নেই এবং সমস্যাটিকে আরও মার্জিত উপায়ে সমাধান করতে পারেন।