#javascript #vue.js
#javascript #vue.js
Вопрос:
Я попытался перейти по маршруту с помощью vue-router после вызова интерфейса. Он работает нормально в локальной среде, но после упаковки маршрут переходит нормально, но отображается пустая страница, кажется, что компонент не загружен нормально.
Это мой код для динамической загрузки маршрута.
export function loadPage(url,para,tabTile) {
var newUrl=url.replace('/', '-');
var name=newUrl "$" Math.floor(Math.random ()*1000);
var havTab=false;
if(tabTile==null || tabTile==''){
tabTile="tab";
}
//var havTab=isHaveTab(name)
//if(!havTab){
var tab = {
menuId: name,
name: name,
title: tabTile,
type: "module",
iframeUrl: ""
};
store.commit("common/updateMainTabs",store.state.common.mainTabs.concat(tab));
//store.state.common.mainTabs = store.state.common.mainTabs.concat(tab);
store.commit("common/updateMainTabsActiveName",tab.name);
//store.state.common.mainTabsActiveName = tab.name;
// }
//rotue
//get the main route
var mainRoutes=null;
for (var i = 0; i < router.options.routes.length; i ) {
var tmp=router.options.routes[i];
if(tmp.name=='main-dynamic'){
mainRoutes=tmp;
break;
}
}
var routes=mainRoutes.children;
//Determine whether the route exists
var flag=isHaveRoute(routes,newUrl)
if(!flag){
var route = {
path: name,
component: require('@/views/modules/' url '.vue').default||null,
name: name,
meta: {
menuId: name,
title: name,
name: name,
isDynamic: true,
isTab: true,
iframeUrl: ''
}
}
routes.push(route)
mainRoutes.children = routes
router.addRoutes([
mainRoutes,
{ path: '*', redirect: { name: '404' } }
])
}
router.push({ name: name,params:para})
}
Ответ №1:
Используете ли вы режим истории маршрутизатора Vue? Если это так, вам необходимо настроить свой веб-сервер для корректного перенаправления запросов на index.html
Документы доступны по этому адресу