Tôi đã tạo một ứng dụng Vue mới với đường dẫn cơ sở. Do thực tế ứng dụng được nhúng vào một ứng dụng Vue khác, ứng dụng này không hiển thị khi router-view
khởi động. Nếu bạn muốn biết thêm về cách thức hoặc lý do ứng dụng này được nhúng vào ứng dụng khác, vui lòng xem tại đây:
gắn ứng dụng Vue vào thùng chứa ứng dụng Vue chính
và câu trả lời của riêng tôi cho vấn đề này:
https://stackoverflow.com/a/58265830/9945420
Khi bắt đầu ứng dụng của tôi, nó kết xuất mọi thứ trừ router-view
. Tôi muốn chuyển hướng khi khởi động bằng URL trình duyệt đã cho. Đây là cấu hình bộ định tuyến của tôi :
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;
Tôi muốn ứng dụng hiển thị thành phần Hai khi gọi .../my-embedded-app/two
. Thật không may, router.replace
luôn luôn chuyển hướng đến /
(vì vậy URL của trình duyệt là .../my-embedded-app/
). Tôi đã gỡ lỗi router
và thấy rằng đó là con đường /
, nhưng tôi sẽ mong đợi nó /two
.
Lưu ý quan trọng:
Tôi không muốn chuyển hướng người dùng /two
bất cứ khi nào có url /
. Tôi chỉ muốn hiển thị chế độ xem Two
khi url /two
. Hiện tại nó không.
Điều gì có thể sai? Có lẽ tôi thậm chí không cần chuyển hướng đó, và có thể giải quyết vấn đề một cách thanh lịch hơn.