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

Vue實現(xiàn)路由跳轉的3種方式超詳細分解

 更新時間:2023年12月01日 10:26:28   作者:小馬大咖  
Vue.js是一款流行的前端JavaScript框架,它提供了多種方式來實現(xiàn)路由跳轉,下面這篇文章主要給大家介紹了關于Vue實現(xiàn)路由跳轉的3種方式,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

一、使用vue-router 

vue-router 本質是一個第三方的包 用的時候需要下載 

詳細步驟 (7步法 ):

1.下載vue-router模塊到當前工程 

 npm i vue-router

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

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

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

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

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

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

const routes = [{
            path: "/",
            redirect: "find" //默認顯示推薦組件(路由的重定向)
        },
        {
            path: "/find",
            name: "Find",
            component: Find,
            //二級路由
            children: [{
                    path: "/",
                    redirect: "recom" //默認顯示推薦組件
                },
                {
                    path: "ranking", //注意二級路由的路徑千萬不要加/
                    component: Ranking
                },
                {
                    path: "songlist",
                    component: SongList
                },
            ]
        },
        {
            path: "/my",
            name: "My",
            component: My
        },
        {
            path: "/part",
            name: "Part",
            component: Part
        },

        {
            path: "*",
            component: NotFound //定義找不到已有組件時顯示404
        },
    ]

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

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

6.把路由對象注入到new Vue實例中

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

7.用router-view作為掛載點, 切換不同的路由頁面

當url的hash值路徑切換,顯示規(guī)則里對應的組件

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

注意: 一切都要以url上hash值為準 

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

1.可用組件router-link來替代a標簽

  • router-link 是vue-router提供了一個全局組件
  • router-link實質上最終會渲染成a鏈接 to屬性等價于提供 href屬性(to無需#)
  • router-link提供了聲明式導航高亮的功能(自帶類名)

代碼如下:

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

 router-link好處 : 自帶激活時的類名, 可以做高亮

2.在跳轉路由時, 可以給路由對應的組件內(nèi)傳值 

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

(方式一)

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

例:to="/part?name=張三"

對應頁面組件接收傳遞過來的值 

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

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

(方式二)

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

例:to="/part/李四"

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

 對應頁面組件接收傳遞過來的值 (注意動態(tài)參數(shù)需要用params接收)

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

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

三、編程式-用JS代碼來進行跳轉 

用JS代碼來進行跳轉

語法: path或者name任選一個

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

$router : 是路由操作對象,只寫對象

$route : 路由信息對象,只讀對象 

$ router操作路由跳轉 

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

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

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

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

path 和 name路由跳轉方式,都可以用query傳參

  • 使用path方式跳轉路由 path會忽略params 所以path不能和params一起使用
  • 推薦使用name和query方式實現(xiàn)路由跳轉

params傳參,push里面只能是 name:‘xxx’,不能是path:‘/xxx’,因為params只能用name來引入路由,如果這里寫成了path,接收參數(shù)頁面會是undefined?。?! 

通過params傳參

==注意:==這里使用name路由跳轉方式路徑不需要加 / 因為它只是個名字 

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

 另一個頁面接收:

這里使用params傳參就需要寫params接收

this.$route.params.id

通過query傳參 

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

另一個頁面接收

this.$route.query.age

query相當于GET請求,頁面跳轉的時候,可以在地址欄看到請求參數(shù)

uery傳參**

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

另一個頁面接收

this.$route.query.age

總結:query相當于GET請求,頁面跳轉的時候,可以在地址欄看到請求參數(shù)

params相當于POST請求,參數(shù)不會在地址欄中顯示

總結

到此這篇關于Vue實現(xiàn)路由跳轉的3種方式的文章就介紹到這了,更多相關Vue路由跳轉方式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 在原生HTML中使用VUE的保姆級教學

    在原生HTML中使用VUE的保姆級教學

    Vue.js是一種流行的JavaScript框架,用于構建交互式的Web應用程序,這篇文章主要給大家介紹了關于在原生HTML中使用VUE的保姆級教學,需要的朋友可以參考下
    2023-10-10
  • Vue表單綁定的實例代碼(單選按鈕,選擇框(單選時,多選時,用 v-for 渲染的動態(tài)選項)

    Vue表單綁定的實例代碼(單選按鈕,選擇框(單選時,多選時,用 v-for 渲染的動態(tài)選項)

    本文通過實例代碼給大家介紹了Vue表單綁定(單選按鈕,選擇框(單選時,多選時,用 v-for 渲染的動態(tài)選項)的相關知識,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-05-05
  • vue3+Echarts實現(xiàn)立體柱狀圖的示例代碼

    vue3+Echarts實現(xiàn)立體柱狀圖的示例代碼

    本文介紹了使用Echarts實現(xiàn)立體柱狀圖的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-07-07
  • vue實現(xiàn)簡單圖片上傳功能

    vue實現(xiàn)簡單圖片上傳功能

    這篇文章主要為大家詳細介紹了vue實現(xiàn)簡單圖片上傳功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Vue 3 中使用路由參數(shù)跳轉時 watch 觸發(fā)重復請求問題解決

    Vue 3 中使用路由參數(shù)跳轉時 watch 觸發(fā)重復請求問題解決

    Vue3中watch(route.query.id)可能因跨頁參數(shù)變化重復觸發(fā)請求,需通過路由name判斷當前頁面,避免誤操作,route.query是響應式,setup不重執(zhí)行,watch需手動處理上下文,本文給大家介紹Vue 3 中使用路由參數(shù)跳轉時 watch 觸發(fā)重復請求問題解決,感興趣的朋友一起看看吧
    2025-07-07
  • vue 清空input標簽 中file的值操作

    vue 清空input標簽 中file的值操作

    這篇文章主要介紹了vue 清空input標簽 中file的值操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • vuex中store存儲store.commit和store.dispatch的用法

    vuex中store存儲store.commit和store.dispatch的用法

    這篇文章主要介紹了vuex中store存儲store.commit和store.dispatch的用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • 深入理解vue Render函數(shù)

    深入理解vue Render函數(shù)

    本篇文章主要介紹了深入理解vue Render函數(shù),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • 詳解Vue之父子組件傳值

    詳解Vue之父子組件傳值

    這篇文章主要介紹了Vue之父子組件傳值,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • 詳解vue3中組件的非兼容變更

    詳解vue3中組件的非兼容變更

    這篇文章主要介紹了詳解vue3中組件的非兼容變更,幫助大家更好的理解和學習使用vue框架,感興趣的朋友可以了解下
    2021-03-03

最新評論

朝阳县| 汕头市| 库伦旗| 陆河县| 大宁县| 武隆县| 读书| 老河口市| 文成县| 墨竹工卡县| 大余县| 宁晋县| 青冈县| 浦县| 彭阳县| 沙河市| 沙雅县| 阿巴嘎旗| 威宁| 宝鸡市| 陕西省| 钟山县| 双峰县| 淳安县| 灌云县| 岳西县| 榆树市| 江达县| 广元市| 南皮县| 兴义市| 桐庐县| 黔江区| 邯郸市| 宝丰县| 遂川县| 叶城县| 辽阳县| 嘉义市| 铅山县| 久治县|