最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue router配置與使用分析講解

 更新時(shí)間:2022年12月23日 15:35:19   作者:hrj199036  
第一次寫Vue項(xiàng)目,要用到router.js,看了一下官方文檔,還是很懵逼,不知道怎么配置,又去看視頻查資料,最后終于搞定了。話不多說,先上代碼,我再講一些要注意的細(xì)節(jié)

說明

  1. 本教程適用于vue3中的路由vue-router@4,的配置及使用
  2. 安裝及配置
  3. 路由的基本使用
  4. 動(dòng)態(tài)路由的添加
  5. 路由守衛(wèi)
  6. 找不到路由配置(path: ‘/:pathMatch(.)’,)

一、安裝及配置

安裝

npm install vue-router@4

配置

//自己創(chuàng)建的router文件中
import { createRouter, createWebHashHistory } from 'vue-router'
//createWebHashHistory 在訪問的時(shí)候帶有#
//createWebHistory 在訪問的時(shí)候不帶#
const router = createRouter({
  history: createWebHashHistory(),
  routes: [
    //...
  ],
})
export default router
//在main.js文件中
import router from 'router_path'
const app = createApp(App)
app.use(router)
app.mount('#app')

二、在html中使用

用 Vue + Vue Router 創(chuàng)建單頁應(yīng)用非常簡單:通過 Vue.js,我們已經(jīng)用組件組成了我們的應(yīng)用。當(dāng)加入 Vue Router 時(shí),我們需要做的就是將我們的組件映射到路由上,讓 Vue Router 知道在哪里渲染它們。下面是一個(gè)基本的例子:

HTML

<script src="https://unpkg.com/vue@3"></script>
<script src="https://unpkg.com/vue-router@4"></script>
<div id="app">
  <h1>Hello App!</h1>
  <p>
    <!--使用 router-link 組件進(jìn)行導(dǎo)航 -->
    <!--通過傳遞 `to` 來指定鏈接 -->
    <!--`<router-link>` 將呈現(xiàn)一個(gè)帶有正確 `href` 屬性的 `<a>` 標(biāo)簽-->
    <router-link to="/">Go to Home</router-link>
    <router-link to="/about">Go to About</router-link>
  </p>
  <!-- 路由出口 -->
  <!-- 路由匹配到的組件將渲染在這里 -->
  <router-view></router-view>
</div>

router-link

請(qǐng)注意,我們沒有使用常規(guī)的 a 標(biāo)簽,而是使用一個(gè)自定義組件 router-link 來創(chuàng)建鏈接。這使得 Vue Router 可以在不重新加載頁面的情況下更改 URL,處理 URL 的生成以及編碼。我們將在后面看到如何從這些功能中獲益。

router-view

router-view 將顯示與 url 對(duì)應(yīng)的組件。你可以把它放在任何地方,以適應(yīng)你的布局。

三、路由的基本使用

路由基本元素有name、path、component、meta(字典)幾個(gè)要素

  • name路由名
  • path路由路徑
  • component組件名(組件的路徑及組件名)
  • meta路由元信息
import { createRouter, createWebHashHistory } from 'vue-router'
import Login from '@/views/Login.vue'
const router = createRouter({
  history: createWebHashHistory(),
  routes: [
    {
      path: '/',
      name: 'login',
      meta:{
        title:'登錄',
      },
      component: Login
    },
})
export default router

帶參數(shù)的路由匹配

很多時(shí)候,我們需要將給定匹配模式的路由映射到同一個(gè)組件。例如,我們可能有一個(gè) User 組件,它應(yīng)該對(duì)所有用戶進(jìn)行渲染,但用戶 ID 不同。在 Vue Router 中,我們可以在路徑中使用一個(gè)動(dòng)態(tài)字段來實(shí)現(xiàn),我們稱之為 路徑參數(shù) :

const User = {
  template: '<div>User</div>',
}
// 這些都會(huì)傳遞給 `createRouter`
const routes = [
  // 動(dòng)態(tài)字段以冒號(hào)開始
  { path: '/users/:id', component: User },
]

現(xiàn)在像 /users/johnny 和 /users/jolyne 這樣的 URL 都會(huì)映射到同一個(gè)路由。

路徑參數(shù) 用冒號(hào) : 表示。當(dāng)一個(gè)路由被匹配時(shí),它的 params 的值將在每個(gè)組件中以 this.$route.params 的形式暴露出來。因此,我們可以通過更新 User 的模板來呈現(xiàn)當(dāng)前的用戶 ID:

const User = {
  template: '<div>User {{ $route.params.id }}</div>',
}

你可以在同一個(gè)路由中設(shè)置有多個(gè) 路徑參數(shù),它們會(huì)映射到 $route.params 上的相應(yīng)字段。例如:

匹配模式匹配路徑route.params
/users/:username/users/eduardo{ username: ‘eduardo’ }
/users/:username/posts/:postId/users/eduardo/posts/123{ username: ‘eduardo’, postId: ‘123’ }

除了 r o u t e . p a r a m s 之外, route.params 之外, route.params之外,route 對(duì)象還公開了其他有用的信息,如 r o u t e . q u e r y (如果 U R L 中存在參數(shù))、 route.query(如果 URL 中存在參數(shù))、 route.query(如果URL中存在參數(shù))、route.hash 等。你可以在 API 參考中查看完整的細(xì)節(jié)。

四、動(dòng)態(tài)路由的添加

路由守衛(wèi)

找不到路由配置

常規(guī)參數(shù)只匹配 url 片段之間的字符,用 / 分隔。如果我們想匹配任意路徑,我們可以使用自定義的 路徑參數(shù) 正則表達(dá)式,在 路徑參數(shù) 后面的括號(hào)中加入 正則表達(dá)式 :

const routes = [
  // 將匹配所有內(nèi)容并將其放在 `$route.params.pathMatch` 下
  { path: '/:pathMatch(.*)*', name: 'NotFound', component: NotFound },
  // 將匹配以 `/user-` 開頭的所有內(nèi)容,并將其放在 `$route.params.afterUser` 下
  { path: '/user-:afterUser(.*)', component: UserGeneric },
]

在這個(gè)特定的場景中,我們?cè)诶ㄌ?hào)之間使用了自定義正則表達(dá)式,并將pathMatch 參數(shù)標(biāo)記為可選可重復(fù)。這樣做是為了讓我們?cè)谛枰臅r(shí)候,可以通過將 path 拆分成一個(gè)數(shù)組,直接導(dǎo)航到路由:

this.$router.push({
  name: 'NotFound',
  // 保留當(dāng)前路徑并刪除第一個(gè)字符,以避免目標(biāo) URL 以 `//` 開頭。
  params: { pathMatch: this.$route.path.substring(1).split('/') },
  // 保留現(xiàn)有的查詢和 hash 值,如果有的話
  query: this.$route.query,
  hash: this.$route.hash,
})

到此這篇關(guān)于Vue router配置與使用分析講解的文章就介紹到這了,更多相關(guān)Vue router配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue開發(fā)之LogicFlow自定義業(yè)務(wù)節(jié)點(diǎn)

    vue開發(fā)之LogicFlow自定義業(yè)務(wù)節(jié)點(diǎn)

    這篇文章主要為大家介紹了vue開發(fā)之LogicFlow自定義業(yè)務(wù)節(jié)點(diǎn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • vue封裝axios的兩種方法總結(jié)

    vue封裝axios的兩種方法總結(jié)

    在不同的前端項(xiàng)目中使用相同的axios封裝有利于保持一致性,有利于數(shù)據(jù)之間的傳遞和處理,本文主要提供兩種對(duì)axios進(jìn)行封裝的思路,有需要的小伙伴可以參考一下
    2023-10-10
  • 淺談Vue3的幾個(gè)優(yōu)勢(shì)

    淺談Vue3的幾個(gè)優(yōu)勢(shì)

    這篇文章主要給大家分享的是Vue3的幾個(gè)優(yōu)勢(shì),Vue3仍然在源碼、性能和語法 API 三個(gè)大的方面進(jìn)行了優(yōu)化,下面我們一起進(jìn)入文章看看具體詳情吧
    2021-10-10
  • vue.js實(shí)現(xiàn)日歷插件使用方法詳解

    vue.js實(shí)現(xiàn)日歷插件使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了vue.js模擬日歷插件的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • vue.js綁定class和style樣式(6)

    vue.js綁定class和style樣式(6)

    這篇文章我們將一起學(xué)習(xí)vue.js實(shí)現(xiàn)綁定class和style樣式,感興趣的小伙伴們可以參考一下
    2016-12-12
  • vue2實(shí)現(xiàn)可復(fù)用的輪播圖carousel組件詳解

    vue2實(shí)現(xiàn)可復(fù)用的輪播圖carousel組件詳解

    這篇文章主要為大家詳細(xì)介紹了vue2實(shí)現(xiàn)可復(fù)用的輪播圖carousel組件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • vue中使用swiper失效問題及解決

    vue中使用swiper失效問題及解決

    這篇文章主要介紹了vue中使用swiper失效問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Vue2.x和Vue3.x的雙向綁定原理詳解

    Vue2.x和Vue3.x的雙向綁定原理詳解

    這篇文章主要給大家介紹了關(guān)于Vue2.x和Vue3.x的雙向綁定原理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • vite.config配置alias Error: ENOTEMPTY: directory not empty, rmdir

    vite.config配置alias Error: ENOTEMPTY: director

    這篇文章主要為大家介紹了vite.config配置alias時(shí)報(bào)錯(cuò):Error: ENOTEMPTY: directory not empty, rmdir解決方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Vue3 組件庫的環(huán)境配置搭建過程

    Vue3 組件庫的環(huán)境配置搭建過程

    這篇文章主要介紹了Vue3 組件庫的環(huán)境配置搭建過程,使用 Vite+Ts 開發(fā)的是 Vue3 組件庫,所以我們需要安裝 typescript、vue3,同時(shí)項(xiàng)目將采用 Less 進(jìn)行組件庫樣式的管理,需要的朋友可以參考下
    2023-03-03

最新評(píng)論

富源县| 张掖市| 海兴县| 张北县| 大化| 通海县| 攀枝花市| 定日县| 会理县| 定安县| 阿拉善左旗| 台北市| 平乐县| 泽库县| 将乐县| 若羌县| 梅河口市| 盈江县| 梨树县| 曲阜市| 永清县| 峡江县| 伊宁市| 长海县| 大庆市| 太湖县| 彭泽县| 万源市| 南部县| 乐至县| 从化市| 织金县| 建瓯市| 大埔县| 同仁县| 青龙| 滨州市| 喀喇沁旗| 保山市| 丽江市| 敦煌市|