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

Vue中實(shí)現(xiàn)路由跳轉(zhuǎn)的三種方式(超詳細(xì)整理)

 更新時(shí)間:2023年09月04日 09:34:53   作者:song19990524  
這篇文章給大家詳細(xì)的整理了Vue中實(shí)現(xiàn)路由跳轉(zhuǎn)的三種方式,使用vue-router,聲明式-router-link,編程式這三種方法,分別有詳細(xì)的代碼示例,需要的朋友可以參考下

vue中實(shí)現(xiàn)路由跳轉(zhuǎn)的三種方式

一、使用vue-router

vue-router 本質(zhì)是一個(gè)第三方的包 用的時(shí)候需要下載

步驟 (7步法 ):

1.下載vue-router模塊到當(dāng)前工程

 yarn add vue-router

2.在main.js中引入VueRouter函數(shù) 

// 引入路由
import VueRouter from "vue-router";

3.添加到Vue.use()身上 – 注冊(cè)全局RouterLink和RouterView組件

// 注冊(cè)全局
Vue.use(VueRouter)

4.創(chuàng)建路由規(guī)則數(shù)組 – 路徑和組件名對(duì)應(yīng)關(guān)系

創(chuàng)建路由規(guī)則數(shù)組(需要準(zhǔn)備切換的頁(yè)面組件)把準(zhǔn)備好的頁(yè)面組件引入到main.js中

const routes = [{
            path: "/",
            redirect: "find" //默認(rèn)顯示推薦組件(路由的重定向)
        },
        {
            path: "/find",
            name: "Find",
            component: Find,
            //二級(jí)路由
            children: [{
                    path: "/",
                    redirect: "recom" //默認(rèn)顯示推薦組件
                },
                {
                    path: "ranking", //注意二級(jí)路由的路徑千萬(wàn)不要加/
                    component: Ranking
                },
                {
                    path: "songlist",
                    component: SongList
                },
            ]
        },
        {
            path: "/my",
            name: "My",
            component: My
        },
        {
            path: "/part",
            name: "Part",
            component: Part
        },
        {
            path: "*",
            component: NotFound //定義找不到已有組件時(shí)顯示404
        },
    ]

5.用規(guī)則生成路由對(duì)象

    // 創(chuàng)建路由對(duì)象并且傳入規(guī)則
const router = new VueRouter({
    routes,
    mode: "history" //路由模式(默認(rèn)為hash模式)
})

6.把路由對(duì)象注入到new Vue實(shí)例中

new Vue({
    router, //導(dǎo)入路由對(duì)象
    render: h => h(App),
}).$mount('#app')

7.用router-view作為掛載點(diǎn), 切換不同的路由頁(yè)面

當(dāng)url的hash值路徑切換,顯示規(guī)則里對(duì)應(yīng)的組件

router-view 實(shí)現(xiàn)路由內(nèi)容的地方,引入組件時(shí)寫(xiě)到需要引入的地方 需要注意的是,使用vue-router控制路由則必須router-view作為容器。(可以先引入根組件App.vue中進(jìn)行自測(cè))

注意: 一切都要以u(píng)rl上hash值為準(zhǔn)

二、聲明式-router-link 【實(shí)現(xiàn)跳轉(zhuǎn)最簡(jiǎn)單的方法】

1.可用組件router-link來(lái)替代a標(biāo)簽

  • router-link 是vue-router提供了一個(gè)全局組件
  • router-link實(shí)質(zhì)上最終會(huì)渲染成a鏈接 to屬性等價(jià)于提供 href屬性(to無(wú)需#)
  • router-link提供了聲明式導(dǎo)航高亮的功能(自帶類(lèi)名)

代碼如下:

<template>
  <div>
    <div class="footer_wrap">
      <router-link to="/find">發(fā)現(xiàn)音樂(lè)</router-link>
      <router-link to="/my">我的音樂(lè)</router-link>
      <router-link to="/part">朋友</router-link>
    </div>
    <div class="top">
      <router-view></router-view>
    </div>
  </div>
</template>
//在控制臺(tái)元素檢查時(shí)會(huì)發(fā)現(xiàn)激活的類(lèi)名 在樣式style中定義高亮樣式 點(diǎn)擊時(shí)就會(huì)高亮

router-link好處 : 自帶激活時(shí)的類(lèi)名, 可以做高亮

2.在跳轉(zhuǎn)路由時(shí), 可以給路由對(duì)應(yīng)的組件內(nèi)傳值

在router-link上的to屬性傳值, 語(yǔ)法格式如下 :

(方式一)

to=/path?參數(shù)名=值

例:to="/part?name=小明"

 對(duì)應(yīng)頁(yè)面組件接收傳遞過(guò)來(lái)的值

$route.query.參數(shù)名

接收數(shù)據(jù):$route.query.name

 (方式二)

to=“/path/值” (需在路由規(guī)則里配置/path/:參數(shù)名)

例:to="/part/小王"

配置:path:"/part/:username"

對(duì)應(yīng)頁(yè)面組件接收傳遞過(guò)來(lái)的值 (注意動(dòng)態(tài)參數(shù)需要用params接收)

$route.params.參數(shù)名

接收數(shù)據(jù):$route.params.username

三、編程式-用JS代碼來(lái)進(jìn)行跳轉(zhuǎn)

用JS代碼來(lái)進(jìn)行跳轉(zhuǎn)

語(yǔ)法: path或者name任選一個(gè)

1、$ router 和 $ route的區(qū)別

$router : 是路由操作對(duì)象,只寫(xiě)對(duì)象

$route : 路由信息對(duì)象,只讀對(duì)象

$ router操作路由跳轉(zhuǎn)

this.$router.push({ name:‘hello', query:{ name:‘word', age:‘11' } })

$route讀取 路由參數(shù)接收

var name = this.$route.query.name;

2、路由跳轉(zhuǎn)方式name 、 path 和傳參方式params 、query的區(qū)別(重要)

params傳參,push里面只能是 name:‘xxx’,不能是path:‘/xxx’,因?yàn)閜arams只能用name來(lái)引入路由,如果這里寫(xiě)成了path,接收參數(shù)頁(yè)面會(huì)是undefined!??!

通過(guò)params傳參

this.$router.push({
    name:"Home",
    params:{
        id:this.id
    }
})

另一個(gè)頁(yè)面接收:

這里使用params傳參就需要寫(xiě)params接收

this.$route.params.id

通過(guò)query傳參

this.$router.push({
    path:"/Search",
    query:{ //query是個(gè)配置項(xiàng)
        age:20
    }
})

 另一個(gè)頁(yè)面接收

this.$route.query.age

query相當(dāng)于GET請(qǐng)求,頁(yè)面跳轉(zhuǎn)的時(shí)候,可以在地址欄看到請(qǐng)求參數(shù)

uery傳參**

this.$router.push({
    path:"/Search",
    query:{ //query是個(gè)配置項(xiàng)
        age:20
    }
})

另一個(gè)頁(yè)面接收

this.$route.query.age

總結(jié)

query相當(dāng)于GET請(qǐng)求,頁(yè)面跳轉(zhuǎn)的時(shí)候,可以在地址欄看到請(qǐng)求參數(shù)

params相當(dāng)于POST請(qǐng)求,參數(shù)不會(huì)在地址欄中顯示

以上就是Vue中實(shí)現(xiàn)路由跳轉(zhuǎn)的三種方式(超詳細(xì)整理)的詳細(xì)內(nèi)容,更多關(guān)于Vue路由跳轉(zhuǎn)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Vite的createServer啟動(dòng)源碼解析

    Vite的createServer啟動(dòng)源碼解析

    這篇文章主要為大家介紹了Vite的createServer啟動(dòng)源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Vue3中集成高德地圖并實(shí)現(xiàn)平移縮放功能

    Vue3中集成高德地圖并實(shí)現(xiàn)平移縮放功能

    隨著前端技術(shù)的不斷發(fā)展,地圖應(yīng)用在我們的項(xiàng)目中越來(lái)越常見(jiàn),本文將介紹如何在Vue3項(xiàng)目中集成高德地圖,并通過(guò)簡(jiǎn)單的配置實(shí)現(xiàn)地圖的平移和縮放功能,需要的朋友可以參考下
    2024-09-09
  • vue3?Table分頁(yè)保留選中狀態(tài)代碼示例

    vue3?Table分頁(yè)保留選中狀態(tài)代碼示例

    這篇文章主要給大家介紹了關(guān)于vue3?Table分頁(yè)保留選中狀態(tài)的相關(guān)資料,vue table組件是一個(gè)非常方便的表格組件,它可以幫助我們實(shí)現(xiàn)分頁(yè)和選中功能,需要的朋友可以參考下
    2023-08-08
  • Vue提示框組件vue-notification使用詳解

    Vue提示框組件vue-notification使用詳解

    這篇文章主要介紹了Vue提示框組件vue-notification使用詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • Vue.config.js配置報(bào)錯(cuò)ValidationError:?Invalid?options?object解決辦法

    Vue.config.js配置報(bào)錯(cuò)ValidationError:?Invalid?options?object解

    這篇文章主要給大家介紹了關(guān)于Vue.config.js配置報(bào)錯(cuò)ValidationError:?Invalid?options?object的解決辦法,主要由于vue.config.js配置文件錯(cuò)誤導(dǎo)致的,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • 在VUE style中使用data中的變量的方法

    在VUE style中使用data中的變量的方法

    這篇文章主要介紹了在VUE style中使用data中的變量的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • vue2.0 element-ui中el-select選擇器無(wú)法顯示選中的內(nèi)容(解決方法)

    vue2.0 element-ui中el-select選擇器無(wú)法顯示選中的內(nèi)容(解決方法)

    這篇文章主要介紹了vue2.0 element-ui中的el-select選擇器無(wú)法顯示選中的內(nèi)容,在文中小編使用的是element-ui V2.2.3。具體解決方法及示例代碼大家參考下本文
    2018-08-08
  • vue項(xiàng)目中的.env文件加載方式

    vue項(xiàng)目中的.env文件加載方式

    在Vue項(xiàng)目中,通過(guò).env文件配置環(huán)境變量,支持不同環(huán)境下加載不同配置,Vite通過(guò)import.meta.env向應(yīng)用暴露環(huán)境變量,支持基本URL、開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境識(shí)別等,.env文件可設(shè)置環(huán)境優(yōu)先級(jí),修改后需重啟生效,TypeScript可通過(guò)增加文件獲取智能提示
    2024-10-10
  • vue scroll滾動(dòng)判斷的實(shí)現(xiàn)(是否滾動(dòng)到底部、滾動(dòng)方向、滾動(dòng)節(jié)流、獲取滾動(dòng)區(qū)域dom元素)

    vue scroll滾動(dòng)判斷的實(shí)現(xiàn)(是否滾動(dòng)到底部、滾動(dòng)方向、滾動(dòng)節(jié)流、獲取滾動(dòng)區(qū)域dom元素)

    這篇文章主要介紹了vue scroll滾動(dòng)判斷的實(shí)現(xiàn)(是否滾動(dòng)到底部、滾動(dòng)方向、滾動(dòng)節(jié)流、獲取滾動(dòng)區(qū)域dom元素),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Vue 3.0 中 Teleport使用示例詳解

    Vue 3.0 中 Teleport使用示例詳解

    Teleport的主要用途是將某些DOM元素渲染到Vue應(yīng)用之外的DOM 節(jié)點(diǎn)中,這在處理模態(tài)框、通知、加載提示等需要突破當(dāng)前組件DOM層級(jí)的場(chǎng)景時(shí)特別有用,本文給大家介紹Vue 3.0 中 Teleport的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2025-05-05

最新評(píng)論

盐津县| 循化| 社会| 双桥区| 邓州市| 水富县| 和硕县| 麻江县| 铜陵市| 华亭县| 昭觉县| 叙永县| 远安县| 临夏市| 舟曲县| 通榆县| 民乐县| 德庆县| 博湖县| 凤庆县| 六枝特区| 安义县| 阿拉善右旗| 怀宁县| 凤城市| 鹿泉市| 哈尔滨市| 乌拉特后旗| 古蔺县| 乐平市| 吉木萨尔县| 旺苍县| 葵青区| 柳河县| 九寨沟县| 凤台县| 交口县| 武鸣县| 芜湖县| 澄城县| 泰宁县|