亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Vue實(shí)現(xiàn)路由跳轉(zhuǎn)的3種方式超詳細(xì)分解

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

一、使用vue-router 

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

詳細(xì)步驟 (7步法 ):

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

 npm i 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)備切換的頁面組件)把準(zhǔn)備好的頁面組件引入到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í)路由的路徑千萬不要加/
                    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), 切換不同的路由頁面

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

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

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

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

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

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

代碼如下:

<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>
//在控制臺(tái)元素檢查時(shí)會(huì)發(fā)現(xiàn)激活的類名 在樣式style中定義高亮樣式 點(diǎn)擊時(shí)就會(huì)高亮

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

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

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

(方式一)

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

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

對(duì)應(yīng)頁面組件接收傳遞過來的值 

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

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

(方式二)

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

例:to="/part/李四"

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

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

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

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

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

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

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

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

$router : 是路由操作對(duì)象,只寫對(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;

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

path 和 name路由跳轉(zhuǎn)方式,都可以用query傳參

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

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

通過params傳參

==注意:==這里使用name路由跳轉(zhuǎn)方式路徑不需要加 / 因?yàn)樗皇莻€(gè)名字 

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

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

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

this.$route.params.id

通過query傳參 

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

另一個(gè)頁面接收

this.$route.query.age

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

uery傳參**

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

另一個(gè)頁面接收

this.$route.query.age

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

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

總結(jié)

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

相關(guān)文章

  • 基于Vue3實(shí)現(xiàn)掃碼槍掃碼并生成二維碼實(shí)例代碼

    基于Vue3實(shí)現(xiàn)掃碼槍掃碼并生成二維碼實(shí)例代碼

    vue3生成二維碼的方式有很多種,下面這篇文章主要給大家介紹了關(guān)于如何基于Vue3實(shí)現(xiàn)掃碼槍掃碼并生成二維碼的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • Vue2路由動(dòng)畫效果的實(shí)現(xiàn)代碼

    Vue2路由動(dòng)畫效果的實(shí)現(xiàn)代碼

    本篇文章主要介紹了Vue2路由動(dòng)畫效果的實(shí)現(xiàn)代碼,可以根據(jù)不同的路徑去改變動(dòng)畫的效果,有興趣的可以了解一下
    2017-07-07
  • 關(guān)于VUE的編譯作用域及slot作用域插槽問題

    關(guān)于VUE的編譯作用域及slot作用域插槽問題

    這篇文章主要介紹了VUE 的編譯作用域及slot作用域插槽問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-07-07
  • Vue中使用ECharts與v-if的問題和解決方案

    Vue中使用ECharts與v-if的問題和解決方案

    在Vue項(xiàng)目中使用v-if指令控制ECharts圖表顯示時(shí),可能會(huì)遇到圖表無法正常渲染或顯示錯(cuò)誤的問題,下面這篇文章主要介紹了Vue中使用ECharts與v-if的問題和解決方案,需要的朋友可以參考下
    2024-10-10
  • Vue修改mint-ui默認(rèn)樣式的方法

    Vue修改mint-ui默認(rèn)樣式的方法

    下面小編就為大家分享一篇Vue修改mint-ui默認(rèn)樣式的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • 基于vue通用表單解決方案的思考與分析

    基于vue通用表單解決方案的思考與分析

    這篇文章主要給大家介紹了基于vue通用表單解決方案的思考與分析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 解決IE11 vue +webpack 項(xiàng)目中數(shù)據(jù)更新后頁面沒有刷新的問題

    解決IE11 vue +webpack 項(xiàng)目中數(shù)據(jù)更新后頁面沒有刷新的問題

    今天小編就為大家分享一篇解決IE11 vue +webpack 項(xiàng)目中數(shù)據(jù)更新后頁面沒有刷新的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • 講解vue-router之什么是編程式路由

    講解vue-router之什么是編程式路由

    編程式路由在我們的項(xiàng)目使用過程中最常用的的方法了。這篇文章主要介紹了講解vue-router之什么是編程式路由,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • VUE : vue-cli中去掉路由中的井號(hào)#操作

    VUE : vue-cli中去掉路由中的井號(hào)#操作

    這篇文章主要介紹了VUE : vue-cli中去掉路由中的井號(hào)#操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Vue中以HTML形式顯示內(nèi)容并動(dòng)態(tài)生成HTML代碼的方法

    Vue中以HTML形式顯示內(nèi)容并動(dòng)態(tài)生成HTML代碼的方法

    有的時(shí)候我們想在vue中直接顯示一個(gè)html的網(wǎng)頁,如果用富文本方式,那么內(nèi)容就會(huì)太多,那么怎么處理呢?這篇文章主要給大家介紹了關(guān)于Vue中如何以HTML形式顯示內(nèi)容并動(dòng)態(tài)生成HTML代碼的相關(guān)資料,需要的朋友可以參考下
    2024-03-03

最新評(píng)論