VUE路由動態(tài)加載實(shí)例代碼講解
首先新建vue工程,一般我們不會特殊處理路由,但當(dāng)項(xiàng)目頁面越來越多,路由配置也會越來越大,路由文件就會變得不好維護(hù)
import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import Home from '@/components/Home'
import Test1 from './test1.router.js'
import Test2 from '@/components/children/Test2'
import Test3 from '@/components/children/Test3'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/HelloWorld',
name: 'HelloWorld',
component: HelloWorld
},
{
path:'/',
name:'Home',
component:Home,
children:[
{
path:'/test2',
name:'Test2',
component:Test2,
},
{
path:'/test3',
name:'Test3',
component:Test3,
}
]
}
]
})
這是一個很簡單的路由文件,我們先進(jìn)性第一步優(yōu)化,按一級菜單分類:
新建test1.router.js文件,放置一級菜單test1下的所有路由信息
export default {
path:'/test1',
name:'test1',
component: () => import('@/components/children/Test1'),
children:[]
}
component: () => import('@/components/children/Test1')這個是配置路由懶加載,優(yōu)化首屏加載緩慢
在index.js里引入該文件
import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import Home from '@/components/Home'
import Test1 from './test1.router.js'
import Test2 from './test2.router.js'
import Test3 from './test3.router.js'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/HelloWorld',
name: 'HelloWorld',
component: HelloWorld
},
{
path:'/',
name:'Home',
component:Home,
children:[
Test1,
Test2,
Test3
]
}
]
})
做到這塊,已經(jīng)可以滿足很多項(xiàng)目了,路由文件已經(jīng)很清晰了,但當(dāng)項(xiàng)目較大,依然會不清晰
import Vue from 'vue'
import Router from 'vue-router'
import Home from '@/components/Home'
Vue.use(Router)
let routers = [];
let getALLRouterMsg = (paths) => {
paths.keys().forEach(
(key) => routers.push(paths(key).default)
)
}
getALLRouterMsg(require.context('.',true,/\.router\.js/))
export default new Router({
routes: [
{
path:'/',
name:'Home',
component:Home,
children:[
...routers
]
}
]
})
以上就是本次介紹的全部知識點(diǎn)內(nèi)容,感謝大家對腳本之家的支持。
相關(guān)文章
vue+intro.js插件實(shí)現(xiàn)引導(dǎo)功能
使用 intro.js這個插件,來實(shí)現(xiàn)一個引導(dǎo)性的效果,經(jīng)常在一些新手引導(dǎo)頁遇到這樣的需求,下面通過本文給大家分享vue+intro.js插件實(shí)現(xiàn)引導(dǎo)功能,感興趣的朋友一起看看吧2024-06-06
Vue中引入bootstrap.min.css的正確姿勢分享
這篇文章主要介紹了Vue中引入bootstrap.min.css的正確姿勢,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10
Vue表單驗(yàn)證?trigger:'blur'OR?trigger:'change&ap
利用?elementUI?實(shí)現(xiàn)表單元素校驗(yàn)時,出現(xiàn)下拉框內(nèi)容選中后校驗(yàn)不消失的異常校驗(yàn)情形,這篇文章主要介紹了Vue表單驗(yàn)證?trigger:‘blur‘?OR?trigger:‘change‘?區(qū)別,需要的朋友可以參考下2023-09-09
關(guān)于vue.js中this.$emit的理解使用
本文主要介紹了關(guān)于vue.js中this.$emit的理解使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
在vue中使用rules對表單字段進(jìn)行驗(yàn)證方式
這篇文章主要介紹了在vue中使用rules對表單字段進(jìn)行驗(yàn)證方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06

