element實(shí)戰(zhàn)三 單頁(yè)面應(yīng)用的控制中心-vue-router

  • 路由的基本配置
    • 基本參數(shù)
      • path
        路由的訪問(wèn)路徑。即url
      • component
        訪問(wèn)路徑對(duì)應(yīng)的組件
    • 擴(kuò)展參數(shù)
      • name
        路由指定命名,設(shè)置后可用params傳參及使用name進(jìn)行路由跳轉(zhuǎn)

實(shí)現(xiàn)敲localhost:8080/home展示home.vue內(nèi)容

1.在src/router/index.js里(vue-cli3是一個(gè)放在外部的配置文件)

import Vue from 'vue'
import Router from 'vue-router'


Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/home' ,
      component: () => import('../views/Home.vue'),//懶加載
    }
  ]
})

2.要再app.vue中加:


image.png

原因:在main.js中


image.png
  • 路由的跳轉(zhuǎn)
    • router-link標(biāo)簽跳轉(zhuǎn)(相當(dāng)于a標(biāo)簽)
    • 編程式導(dǎo)航
// route可以是對(duì)象,或者是字符串
// 對(duì)象的時(shí)候可通過(guò)路由的path或者name進(jìn)?跳轉(zhuǎn)
// 字符串的話只能是路由的path
this.$router.push(route)
// 路由傳遞參數(shù), query和path配合, params和name配合
query: this.$router.push({path: '/', query: {id: 2}})
params: this.$router.push({name: 'home', params: {id: 2}})

1.點(diǎn)擊home文件會(huì)跳轉(zhuǎn)home.vue


image.png

2.用函數(shù)式編程實(shí)現(xiàn)


image.png
  • 動(dòng)態(tài)路由
    • 組件是同一個(gè),只是通過(guò)不同的url參數(shù)渲染不同的數(shù)據(jù)
    • 路徑參數(shù)"使用冒號(hào)":標(biāo)記
    • 在path里顯示聲明后,通過(guò)params傳參后,參數(shù)不丟失同時(shí)參數(shù)被設(shè)置成必傳參數(shù)
{
  path: '/home/:id',
  component: home
}

使用場(chǎng)景:依據(jù)用戶不同ID跳轉(zhuǎn)不同的頁(yè)面


image.png
image.png

這個(gè)時(shí)候輸入“l(fā)ocalhost:8080/home/123456”,會(huì)在頁(yè)面中顯示123456

  • 嵌套路由
    • 目的:組件中嵌套不同組件
    • 實(shí)現(xiàn)
// 在需要嵌套的路由中補(bǔ)充children字段
{
  path: '/home/:id',
  component: home,
  children: []
}

例子:實(shí)現(xiàn)在home.vue中展示child.vue中的內(nèi)容
1:在home.vue中加<router-view>
2:


image.png
  • 守衛(wèi)導(dǎo)航
    • 通過(guò)router中的beforeEach注冊(cè)全局守衛(wèi),每次切換路由是觸發(fā)
      在main.js中寫
// to, from是路由對(duì)象,我們?cè)诼酚?定義的參數(shù)都可以在這?取到,例如to.path或
from.name
router.beforeEach((to, from, next) => {
// ...
next()
})

to: 將進(jìn)入的路由對(duì)象
from: 將離開的路由對(duì)象
next() 確認(rèn)完成操作,最后一定要調(diào)用,不然路由就不會(huì)進(jìn)行切換

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 路由,其實(shí)就是指向的意思,當(dāng)我點(diǎn)擊頁(yè)面上的home按鈕時(shí),頁(yè)面中就要顯示home的內(nèi)容,如果點(diǎn)擊頁(yè)面上的about...
    六月太陽(yáng)花閱讀 718評(píng)論 0 3
  • SPA單頁(yè)應(yīng)用 傳統(tǒng)的項(xiàng)目大多使用多頁(yè)面結(jié)構(gòu),需要切換內(nèi)容的時(shí)候我們往往會(huì)進(jìn)行單個(gè)html文件的跳轉(zhuǎn),這個(gè)時(shí)候受網(wǎng)...
    視覺派Pie閱讀 12,208評(píng)論 1 55
  • 1路由,其實(shí)就是指向的意思,當(dāng)我點(diǎn)擊頁(yè)面上的home按鈕時(shí),頁(yè)面中就要顯示home的內(nèi)容,如果點(diǎn)擊頁(yè)面上的abou...
    你好陌生人丶閱讀 1,793評(píng)論 0 6
  • vue-router 基本使用Vue Router 官方網(wǎng)介紹 路由,其實(shí)就是指向的意思,當(dāng)我點(diǎn)擊頁(yè)面上的home...
    雄關(guān)漫道從頭越閱讀 2,248評(píng)論 0 0
  • [轉(zhuǎn)載自](http://www.cnblogs.com/SamWeb/p/6610733.html) 路由,其實(shí)...
    可爸閱讀 1,652評(píng)論 1 0

友情鏈接更多精彩內(nèi)容