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

Vue聲明式導(dǎo)航與編程式導(dǎo)航示例分析講解

 更新時(shí)間:2022年11月30日 10:43:19   作者:未及545  
這篇文章主要介紹了Vue中聲明式導(dǎo)航與編程式導(dǎo)航,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧

聲明式導(dǎo)航:在瀏覽器中,點(diǎn)擊鏈接實(shí)現(xiàn)導(dǎo)航的方式,叫做聲明式導(dǎo)航。如:普通網(wǎng)頁中點(diǎn)擊<a>鏈接,vue中點(diǎn)擊<router--link>都屬于聲明式導(dǎo)航。

編程式導(dǎo)航:在瀏覽器中,調(diào)用API方法實(shí)現(xiàn)導(dǎo)航的方式,叫做編程式導(dǎo)航。如:普通網(wǎng)頁中調(diào)用location.href跳轉(zhuǎn)到新頁面的方式,屬于編程式導(dǎo)航。

vue-router中的編程式導(dǎo)航

vue-router提供了許多編程式導(dǎo)航的API,其中最常用的三種API分別是:

1.this.$router.push("hash地址")

跳轉(zhuǎn)到指定hash地址,并增加一條歷史記錄。

2.this.$router.replace("hash地址")

跳轉(zhuǎn)到指定的hash地址,并替換掉當(dāng)前的歷史記錄。

3.this.$router.go(數(shù)值n)

在瀏覽歷史前進(jìn)或后退,()中的值為整數(shù),負(fù)值代表后退,正值代表前進(jìn)。

在實(shí)際開發(fā)中,一般只會(huì)前進(jìn)或后退一層頁面,因此可用簡(jiǎn)化用法:

①$router.back()

在歷史記錄中,后退到上一個(gè)頁面。

②$router.forward()

在歷史記錄中,前進(jìn)到下一個(gè)頁面。

<template lang="">
  <div>
    music組件
    <!-- <p>{{this.$route.params.id}}</p> -->
    <p>{{id}}</p>
    <button @click="btn">點(diǎn)擊打印this</button>
    <button @click="goTo">跳轉(zhuǎn)到金玉良緣</button>
    <button @click="$router.back()">后退</button>
    <button @click="$router.forward()">前進(jìn)</button>
  </div>
</template>
<script>
export default{
  props:["id"],
  methods:{
    btn(){
      console.log(this);
    },
    goTO(){
      this.$router.replace("/music4")
    }
  }
}
</script>
<style lang="less" scoped>
div{
width: 100%;
height: 50px;
background-color:orangered;
}
</style>

導(dǎo)航守衛(wèi)

導(dǎo)航守衛(wèi)可以控制路由的訪問權(quán)限。

全局前置守衛(wèi)

每次發(fā)生路由的導(dǎo)航跳轉(zhuǎn)時(shí),都會(huì)觸發(fā)全局前置守衛(wèi)。因此,在全局前置守衛(wèi)中,我們可以對(duì)每個(gè)路由進(jìn)行訪問權(quán)限的控制。

next的三種調(diào)用方式:

1.當(dāng)前用戶擁有后臺(tái)主頁的訪問權(quán)限,直接放行:next()

2.當(dāng)前用戶沒有后臺(tái)主頁的訪問權(quán)限,強(qiáng)制其跳轉(zhuǎn)到登錄頁面:next("/login")

3.當(dāng)前用戶沒有后臺(tái)主頁的訪問權(quán)限,不允許跳到后臺(tái)主頁:next(false)

import Vue from "vue";
import VueRouter from "vue-router";
import child from "@/components/child.vue"
import left from "@/components/left.vue"
import right from "@/components/right.vue"
import Tab1 from "@/components/tabs/Tab1.vue"
import Tab2 from "@/components/tabs/Tab2.vue"
import music from "@/components/music.vue"
import login from "@/components/login.vue"
import background from "@/components/background.vue"
Vue.use(VueRouter)
const router=new VueRouter({
  routes:[
    {path:"/",redirect:"/firstPage"},
    {path:"/music:id",component:music,props:true},
    {path:"/firstPage",component:child,redirect:"/firstPage/tab1",children:[
 {path:"tab1",component:Tab1},{path:"tab2",component:Tab2}]},
    {path:"/img",component:left},
    {path:"/video",component:right},
    {path:"/login",component:login},
    {path:"/background",component:background}
  ]
})
router.beforeEach(function(to,from,next){
  // 要拿到用戶將要訪問的hash地址
  // 判斷hash地址是否等于/background
  // 如果等于,證明需要登錄之后,才能訪問成功
  // 如果不等于,則不需要登錄,直接放行
  // 如果訪問的地址是/background,則需要讀取localStorage中的token值
  // 如果有token,則放行,如果沒有,則強(qiáng)制跳轉(zhuǎn)到/login登錄頁
  if(to.path==="/background"){
    const token=localStorage.getItem("token")
    if(token){
      next()
    }else{
      next("/login")
    }
  }else{
    next()
  }
})
// 4.向外共享路由的實(shí)例對(duì)象
export default router

到此這篇關(guān)于Vue聲明式導(dǎo)航與編程式導(dǎo)航示例分析講解的文章就介紹到這了,更多相關(guān)Vue聲明式導(dǎo)航與編程式導(dǎo)航內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue?Router動(dòng)態(tài)路由實(shí)現(xiàn)實(shí)現(xiàn)更靈活的頁面交互

    Vue?Router動(dòng)態(tài)路由實(shí)現(xiàn)實(shí)現(xiàn)更靈活的頁面交互

    Vue?Router是Vue.js官方的路由管理器,用于構(gòu)建SPA(單頁應(yīng)用程序),本文將深入探討Vue?Router的動(dòng)態(tài)路由功能,希望可以幫助大家更好地理解和應(yīng)用Vue.js框架
    2024-02-02
  • 解決Vue響應(yīng)式數(shù)據(jù)已獲取而視圖不更新的問題

    解決Vue響應(yīng)式數(shù)據(jù)已獲取而視圖不更新的問題

    這篇文章主要介紹了解決Vue響應(yīng)式數(shù)據(jù)已獲取而視圖不更新的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • vue3 vite pinia配置動(dòng)態(tài)路由、解決刷新頁面路由消失的問題

    vue3 vite pinia配置動(dòng)態(tài)路由、解決刷新頁面路由消失的問題

    這篇文章主要介紹了vue3 vite pinia配置動(dòng)態(tài)路由、解決刷新頁面路由消失的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue項(xiàng)目中如何封裝axios(統(tǒng)一管理http請(qǐng)求)

    Vue項(xiàng)目中如何封裝axios(統(tǒng)一管理http請(qǐng)求)

    這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目中如何封裝axios(統(tǒng)一管理http請(qǐng)求)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • vue-admin如何實(shí)現(xiàn)動(dòng)態(tài)路由

    vue-admin如何實(shí)現(xiàn)動(dòng)態(tài)路由

    這篇文章主要介紹了vue-admin如何實(shí)現(xiàn)動(dòng)態(tài)路由問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Vue.js圖片預(yù)覽插件使用詳解

    Vue.js圖片預(yù)覽插件使用詳解

    Vue是一套用于構(gòu)建用戶界面的漸進(jìn)式框架。這篇文章主要介紹了Vue.js圖片預(yù)覽插件的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-08-08
  • Vue使用el-dialog關(guān)閉后重置表單方式

    Vue使用el-dialog關(guān)閉后重置表單方式

    這篇文章主要介紹了Vue使用el-dialog關(guān)閉后重置表單方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Vue中動(dòng)態(tài)class的多種寫法

    Vue中動(dòng)態(tài)class的多種寫法

    這篇文章主要介紹了Vue之動(dòng)態(tài)class的幾種寫法,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • 討論vue中混入mixin的應(yīng)用

    討論vue中混入mixin的應(yīng)用

    這篇文章主要介紹了vue中混入mixin的理解和應(yīng)用,對(duì)vue感興趣的同學(xué),可以參考下
    2021-05-05
  • Vue.js 的 watch函數(shù)基本用法

    Vue.js 的 watch函數(shù)基本用法

    watch 函數(shù)是 Vue.js 提供的一個(gè)強(qiáng)大工具,用于響應(yīng)數(shù)據(jù)變化并執(zhí)行相應(yīng)的回調(diào),通過合理使用 watch 函數(shù),我們可以實(shí)現(xiàn)異步數(shù)據(jù)請(qǐng)求、表單驗(yàn)證、動(dòng)態(tài)樣式等多種功能,這篇文章主要介紹了Vue.js 的 watch函數(shù),需要的朋友可以參考下
    2024-08-08

最新評(píng)論

龙江县| 儋州市| 金山区| 新乡市| 临武县| 铁岭市| 西平县| 葫芦岛市| 韶山市| 池州市| 江津市| 陕西省| 偏关县| 化隆| 榆树市| 弥渡县| 洞头县| 罗定市| 韶关市| 高州市| 旬邑县| 彩票| 玉环县| 长泰县| 安康市| 延长县| 松桃| 无锡市| 合阳县| 长阳| 象州县| 文化| 洪洞县| 饶阳县| 乌拉特中旗| 安图县| 阳泉市| 嘉黎县| 孙吴县| 石河子市| 县级市|