欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2022年11月30日 10:43:19   作者:未及545  
這篇文章主要介紹了Vue中聲明式導(dǎo)航與編程式導(dǎo)航,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(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ā)中,一般只會前進(jìn)或后退一層頁面,因此可用簡化用法:

①$router.back()

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

②$router.forward()

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

<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)時,都會觸發(fā)全局前置守衛(wèi)。因此,在全局前置守衛(wèi)中,我們可以對每個路由進(jìn)行訪問權(quán)限的控制。

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

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

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

3.當(dāng)前用戶沒有后臺主頁的訪問權(quán)限,不允許跳到后臺主頁: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í)例對象
export default router

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

相關(guān)文章

  • 使用Vue實(shí)現(xiàn)簡易的車牌輸入鍵盤

    使用Vue實(shí)現(xiàn)簡易的車牌輸入鍵盤

    這篇文章主要為大家詳細(xì)介紹了如何使用Vue實(shí)現(xiàn)簡易的車牌輸入鍵盤效果,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以了解下
    2023-11-11
  • vue中渲染對象中屬性時顯示未定義的解決

    vue中渲染對象中屬性時顯示未定義的解決

    這篇文章主要介紹了vue中渲染對象中屬性時顯示未定義的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • vue點(diǎn)擊按鈕實(shí)現(xiàn)簡單頁面的切換

    vue點(diǎn)擊按鈕實(shí)現(xiàn)簡單頁面的切換

    這篇文章主要為大家詳細(xì)介紹了vue點(diǎn)擊按鈕實(shí)現(xiàn)簡單頁面的切換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • vue?動態(tài)style?拼接寬度問題

    vue?動態(tài)style?拼接寬度問題

    這篇文章主要介紹了vue?動態(tài)style?拼接寬度問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue瀏覽器鏈接與接口參數(shù)實(shí)現(xiàn)加密過程詳解

    Vue瀏覽器鏈接與接口參數(shù)實(shí)現(xiàn)加密過程詳解

    這篇文章主要介紹了Vue瀏覽器鏈接與接口參數(shù)實(shí)現(xiàn)加密過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-12-12
  • Vue?el-menu?左側(cè)菜單導(dǎo)航功能的實(shí)現(xiàn)

    Vue?el-menu?左側(cè)菜單導(dǎo)航功能的實(shí)現(xiàn)

    這篇文章主要介紹了Vue?el-menu?左側(cè)菜單導(dǎo)航功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • vue啟動后請求后端接口報(bào)ERR_EMPTY_RESPONSE錯誤的解決

    vue啟動后請求后端接口報(bào)ERR_EMPTY_RESPONSE錯誤的解決

    這篇文章主要介紹了vue啟動后請求后端接口報(bào)ERR_EMPTY_RESPONSE錯誤的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 解決el-menu標(biāo)題過長顯示不全問題

    解決el-menu標(biāo)題過長顯示不全問題

    本文主要介紹了如何解決el-menu標(biāo)題過長顯示不全問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,感興趣的朋友們跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-12-12
  • 在vue中實(shí)現(xiàn)禁止屏幕滾動,禁止屏幕滑動

    在vue中實(shí)現(xiàn)禁止屏幕滾動,禁止屏幕滑動

    這篇文章主要介紹了在vue中實(shí)現(xiàn)禁止屏幕滾動,禁止屏幕滑動,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Vue.js鼠標(biāo)懸浮更換圖片功能

    Vue.js鼠標(biāo)懸浮更換圖片功能

    這篇文章主要為大家詳細(xì)介紹了Vue.js實(shí)現(xiàn)鼠標(biāo)懸浮更換圖片功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05

最新評論