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

Vue Router應(yīng)用方法詳解

 更新時間:2022年09月20日 11:23:01   作者:??煙花易冷???  
在看這篇文章的幾點要求:需要你先知道Vue-Router是個什么東西,用來解決什么問題,以及它的基本使用。如果你還不懂的話,建議上官網(wǎng)了解下Vue-Router的基本使用后再回來看這篇文章

服務(wù)端路由

服務(wù)端路由時指的是服務(wù)器根據(jù)用戶訪問的 URL 路徑返回不同的響應(yīng)結(jié)果。

在傳統(tǒng)的服務(wù)端渲染的 web 應(yīng)用中點擊一個鏈接時,瀏覽器會從服務(wù)端獲得全新的 HTML頁面,然后重新加載整個頁面。

然而,在單頁面應(yīng)用中,客戶端的 JavaScript 可以攔截頁面的跳轉(zhuǎn)請求,動態(tài)獲取新的數(shù)據(jù),無需重新加載的情況下更新當前頁面。

這樣通??梢詭砀樆挠脩趔w驗,尤其是在更偏向“應(yīng)用”的場景下,因為這類場景下用戶通常會在很長的一段時間中做出多次交互。

在這類單頁應(yīng)用中,“路由”是在客戶端執(zhí)行的。一個客戶端路由器的職責(zé)就是利用諸如 History API 或是 hashchange 事件這樣的瀏覽器 API 來管理應(yīng)用當前應(yīng)該渲染的視圖。

路由的應(yīng)用場景

單頁面應(yīng)用(SPA應(yīng)用):

  1. 顧名思義導(dǎo)航欄不變,內(nèi)容欄改變的應(yīng)用。
  2. 內(nèi)容欄根據(jù)導(dǎo)航欄的選擇變化的同時,頁面不會跳轉(zhuǎn),也就是說不會產(chǎn)生新的請求。
  3. js攔截頁面的跳轉(zhuǎn)請求,動態(tài)的獲取新的數(shù)據(jù),路徑也會隨之變化。
  4. 數(shù)據(jù)需要通過ajax的請求獲取。

路由

  1. 路由就是多個key-value的對應(yīng)關(guān)系。
  2. 每一個路由都需要路由器的支持。

監(jiān)聽瀏覽器 hashchange 事件實現(xiàn)路由

如果你只需要一個簡單的頁面路由,而不想為此引入一整個路由庫,你可以通過動態(tài)組件的方式,監(jiān)聽瀏覽器 hashchange 事件或使用 History API 來更新當前組件。

<script>
import About from "./components/About.vue";
import Home from "./components/Home.vue";
import NotFound from "./components/Not Found.vue";
const routes = {
  //路由默認跳轉(zhuǎn)到Home組件
  '/': Home,
  '/about': About
}
export default {
  data() {
    return {
      currentPath: window.location.hash
    }
  },
  computed: {
    //計算屬性的方法,響應(yīng)式的,緩存
    currentView() {
      //過濾#,匹配路由
      return routes[this.currentPath.slice(1) || '/' ] || NotFound
    }
  },
  mounted() {
    window.addEventListener('hashchange', () => {
      //只要window變化了就,把當前的路徑給App組件下的屬性this.currentPath
      this.currentPath = window.location.hash
    })
  }
}
</script>
<template>
  <a href="#/" rel="external nofollow" >Home</a> |
  <a href="#/about" rel="external nofollow" >About</a> |
  <a href="#/non-existent-path" rel="external nofollow" >Broken Link</a>
  <br>
  <component :is="currentView" />
</template>

使用Vue Router+Vue2實現(xiàn)路由

用 Vue + Vue Router 創(chuàng)建單頁應(yīng)用非常簡單:通過 Vue.js,我們已經(jīng)用組件組成了我們的應(yīng)用。當加入 Vue Router 時,我們需要做的就是將我們的組件映射到路由上,讓 Vue Router 知道在哪里渲染它們。

1.安裝路由

npm i vue-router@3

注意:

  1. vue3對應(yīng)的vue-router版本是4
  2. vue2對應(yīng)的vue-router版本是3
  3. 我這里是vue2

2.導(dǎo)入VueRouter插件(main.js)

import Vue from 'vue'
import App from './App.vue'
import VueRouter from "vue-router"
import './assets/main.css'
//關(guān)閉vue的生產(chǎn)提示
Vue.config.productionTip = false
//使用路由器插件
Vue.use(VueRouter)
new Vue({
  render: (h) => h(App),
}).$mount('#app')

3.編寫創(chuàng)建路由器router(并暴露)的js文件(router/index.js)

import VueRouter from "vue-router";
import Home from "../components/Home";
import About from "../components/About";
import NotFound from "../components/Not Found";
//創(chuàng)建路由器并暴露
export default new VueRouter({
    //多個路由
    routes:[
        {
            path:'/about',
            component:About
        },
        {
            path:'/Home',
            component:Home
        }
    ]
})

4.引入router(main.js)

import router from "./router";
new Vue({
  render: (h) => h(App),
  router:router
}).$mount('#app')

5. 測試

<template>
<div>
  <h1>Router Demo</h1>
  <router-link to="/home">Home</router-link>||
  <router-link to="/about">About</router-link>
  <router-view></router-view>
</div>
</template>

Vue3 + Vue-router

到此這篇關(guān)于Vue Router應(yīng)用方法詳解的文章就介紹到這了,更多相關(guān)Vue Router內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue中formdata傳值給后臺時參數(shù)為空的問題

    vue中formdata傳值給后臺時參數(shù)為空的問題

    這篇文章主要介紹了vue中formdata傳值給后臺時參數(shù)為空的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Vue3中pinia的使用與持久化處理詳解

    Vue3中pinia的使用與持久化處理詳解

    Pinia?是一個基于?Vue?3?的狀態(tài)管理庫,可以更好地支持?TypeScript?和更靈活的狀態(tài)管理方式,本文主要介紹了pinia的使用與持久化處理,需要的可以參考一下
    2023-07-07
  • vue2.0開發(fā)入門筆記之.vue文件的生成和使用

    vue2.0開發(fā)入門筆記之.vue文件的生成和使用

    本篇文章主要介紹了vue2.0開發(fā)入門筆記之.vue文件的生成和使用 ,非常具有實用價值,需要的朋友可以參考下
    2017-09-09
  • vue3 template轉(zhuǎn)為render函數(shù)過程詳解

    vue3 template轉(zhuǎn)為render函數(shù)過程詳解

    在 Vue 中,template 模板是我們編寫組件的主要方式之一,而 Vue 內(nèi)部會將這些模板轉(zhuǎn)換為 render 函數(shù),render 函數(shù)是用于創(chuàng)建虛擬 DOM 的函數(shù),通過它,Vue 能夠高效地追蹤 DOM 的變化并進行更新,下面我會通俗易懂地詳細解釋 Vue 如何將 template 轉(zhuǎn)換為 render 函數(shù)
    2024-10-10
  • vue中v-for加載本地靜態(tài)圖片方法

    vue中v-for加載本地靜態(tài)圖片方法

    下面小編就為大家分享一篇vue中v-for加載本地靜態(tài)圖片方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Vue與compressor.js實現(xiàn)高效文件壓縮的方法

    Vue與compressor.js實現(xiàn)高效文件壓縮的方法

    本文將介紹基于 Vue 框架和 compressor.js 的上傳時文件壓縮實現(xiàn)方法,通過在上傳過程中對文件進行壓縮,減小文件大小,提升上傳速度,為用戶創(chuàng)造更快捷、高效的上傳體驗,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • Vue.js中的全局錯誤處理函數(shù)errorHandler用法

    Vue.js中的全局錯誤處理函數(shù)errorHandler用法

    這篇文章主要介紹了Vue.js中的全局錯誤處理函數(shù)errorHandler用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 在 Vue-CLI 中引入 simple-mock實現(xiàn)簡易的 API Mock 接口數(shù)據(jù)模擬

    在 Vue-CLI 中引入 simple-mock實現(xiàn)簡易的 API Mock 接口數(shù)據(jù)模擬

    本文以 Vue-CLI 為例介紹引入 simple-mock 實現(xiàn)前端開發(fā)數(shù)據(jù)模擬的步驟。感興趣的朋友跟隨小編一起看看吧
    2018-11-11
  • Vue引入sign-canvas實現(xiàn)簽名畫板效果

    Vue引入sign-canvas實現(xiàn)簽名畫板效果

    這篇文章主要介紹了Vue引入sign-canvas實現(xiàn)簽名畫板,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • Vue中事件總線(eventBus)的深入詳解及使用

    Vue中事件總線(eventBus)的深入詳解及使用

    在vue項目中父子組件間的通訊很方便,但兄弟組件或多層嵌套組件間的通訊,就會比較麻煩,這時使用eventBus通訊,就可以很便捷的解決這個問題,這篇文章主要給大家介紹了關(guān)于Vue中事件總線(eventBus)使用的相關(guān)資料,需要的朋友可以參考下
    2022-03-03

最新評論