Vue路由(黑馬程序員)

路由介紹

將資代碼/vue-project(路由)/vue-project/src/views/tlias/DeptView.vue拷貝到我們當前EmpView.vue同級,其結構如下:

此時我們希望,實現點擊側邊欄的部門管理,顯示部門管理的信息,點擊員工管理,顯示員工管理的信息,效果如下圖所示:

這就需要借助我們的vue的路由功能了。

前端路由:URL中的hash(#號之后的內容)與組件之間的對應關系,如下圖所示:

當我們點擊左側導航欄時,瀏覽器的地址欄會發生變化,路由自動更新顯示與url所對應的vue組件。

而我們vue官方提供了路由插件Vue Router,其主要組成如下:

? ??● VueRouter:路由器類,根據路由請求在路由視圖中動態渲染選中的組件

? ??● <router-link>:請求鏈接組件,瀏覽器會解析成<a>

? ??● <router-view>:動態視圖組件,用來渲染展示與路由路徑對應的組件

其工作原理如下圖所示:

首先VueRouter根據我們配置的url的hash片段和路由的組件關系去維護一張路由表;

然后我們頁面提供一個<router-link>組件,用戶點擊,發出路由請求;

接著我們的VueRouter根據路由請求,在路由表中找到對應的vue組件;

最后VueRouter會切換<router-view>中的組件,從而進行視圖的更新。

路由入門

接下來我們來演示vue的路由功能。

首先我們需要先安裝vue-router插件,可以通過如下命令

npm install vue-router@3.5.1

但是我們不需要安裝,因為當初我們再創建項目時,已經勾選了路由功能,已經安裝好了。

然后我們需要在src/router/index.js文件中定義路由表,根據其提供的模版代碼進行修改,最終代碼如下:

import Vue 'vue'
import VueRouter 'vue-router'Vue.use(VueRouter)const routes = [{path: '/emp',  //地址pathname: 'emp',component: () => import('../views/tlias/EmpView.vue')  //對應的vue組件},{path: '/dept',name: 'dept',component: () => import('../views/tlias/DeptView.vue')}
]const router = new VueRouter({routes
})export default router

注意需要去掉沒有引用的import模塊。

在main.js中,我們已經引入了router功能,如下圖所示:

路由基本信息配置好了,路由表已經被加載,此時我們還缺少2個東西,就是<router-lin>和<router-view>,所以我們需要修改2個頁面(EmpView.vue和DeptView.vue)我們左側欄的2個按鈕為router-link,其代碼如下:

<el-menu-item index="1-1"><router-link to="/dept">部門管理</router-link>
</el-menu-link>
<el-menu-item index="1-2"><router-link to="/emp">員工管理</router-link>
</el-menu-item>

然后我們還需要在內容展示區域即App.vue中定義route-view,作為組件的切換,其App.vue的完整代碼如下:

<template><div id="app"><!-- {{message}} --><!-- <element-view></element-view> --><!-- <emp-view></emp-view> --><router-view></router-view></div>
</template><script>
// import EmpView  './views/tlias/EmpView.vue'
// import ElementView  './views/Element/ElementView.vue'
export default {components: { },data(){return {"message":"hello world"}}
}
</script>
<style></style>

但是我們瀏覽器打開地址: http://localhost:7000/ ,發現一片空白,因為我們默認的路由路徑是/,但是路由配置中沒有對應的關系,

所有我們需要在路由配置中/對應的路由組件,代碼如下:

const routes = [{path: '/emp',name: 'emp',component:  () => import('../views/tlias/EmpView.vue')},{path: '/dept',name: 'dept',component: () => import('../views/tlias/DeptView.vue')},{path: '/',redirect:'/emp' //表示重定向到/emp即可},
]

此時我們打開瀏覽器,訪問http://localhost:7000發現直接訪問的是emp的頁面,并且能夠進行切換了,其具體如下圖所示:

到此我們的路由實現成功。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/717683.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/717683.shtml
英文地址,請注明出處:http://en.pswp.cn/news/717683.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【周總結平淡但不平凡的周末】

上周總結 根據系統生產環境的日志文件&#xff0c;寫了個腳本統計最近使用我們系統的用戶的手機型號以及系統&#xff0c;幫助聚焦主要測試的機型&#xff0c;以及系統類型 依然是根據時區不同對項目進行改造&#xff0c;還有一個開發好的接口需要下周聯調 2024/3/3 晴…

QT Mingw32/64編譯ffmpeg源碼生成32/64bit庫以及測試

文章目錄 前言下載msys2ysamFFmpeg 搭建編譯環境安裝msys2安裝QT Mingw編譯器到msys環境中安裝ysam測試 編譯FFmpeg測試 前言 FFmpeg不像VLC有支持QT的庫文件&#xff0c;它僅提供源碼&#xff0c;需要使用者自行編譯成對應的庫&#xff0c;當使用QTFFmpeg實現播放視頻以及視頻…

連接 mongodb集群的集中方式

mongodb 連接到復制集 mongodb://node1,node2,node3.../database?[options]mongodb 連接到分片集 mongodb://mongos1,mongos2,mongos3.../database?[options]使用 mongosrv 通過域名解析得到所有的 mongos 或 節點的地址, 而不是把這些寫在連接字符串中. mongodbsrv://se…

經典的算法面試題(1)

題目&#xff1a; 給定一個整數數組 nums&#xff0c;編寫一個算法將所有的0移到數組的末尾&#xff0c;同時保持非零元素的相對順序。 示例: 輸入: [0,1,0,3,12] 輸出: [1,3,12,0,0] 注意&#xff1a;必須在原數組上操作&#xff0c;不能拷貝額外的數組。盡量減少操作次數。 這…

數據處理——一維數組轉列向量(分割時間序列為數據塊時的問題)

記錄在處理數據時被磕絆了一下的一個處理細節。 1.想要達到的要求 在某次滑動窗口取樣時間序列數據時&#xff0c;我得到如下一個以一維數組為元素的列表&#xff1a; 對于如上輸出列表中的每個一維數組&#xff0c;我希望將其轉換為下圖中的形式&#xff0c;簡單說就是希望他…

編程筆記 Golang基礎 042 文件處理

編程筆記 Golang基礎 042 文件處理 一、文件處理二、Go語言文件處理創建文件和寫入內容打開文件并按模式讀寫讀取文件內容更高級的文件和IO操作改變文件權限目錄操作 小結 一、文件處理 文件處理是指在計算機科學中&#xff0c;對存儲在磁盤或其他持久性存儲介質上的文件進行的…

Android Jni添加打印(C++打印)

Android Jni添加打印&#xff08;C打印&#xff09; 文章目錄 Android Jni添加打印&#xff08;C打印&#xff09;一、前言二、添加日志實現1、在某個類上面定義類型和方法2、把日志方法定義在.h文件中定義 myLog.h3、引用打印頭文件的示例代碼&#xff08;1&#xff09; MainA…

【詳識JAVA語言】面向對象程序三大特性之三:多態

多態 多態的概念 多態的概念&#xff1a;通俗來說&#xff0c;就是多種形態&#xff0c;具體點就是去完成某個行為&#xff0c;當不同的對象去完成時會產生出不同的狀態。 多態實現條件 在java中要實現多態&#xff0c;必須要滿足如下幾個條件&#xff0c;缺一不可&#xf…

循環隊列與循環雙端隊列

文章目錄 前言循環隊列循環雙端隊列 前言 1、學習循環隊列和循環雙端隊列能加深我們對隊列的理解&#xff0c;提高我們的編程能力。 2、本文循環隊列使用的是數組&#xff0c;循環雙端隊列用的是雙向鏈表 3、題目連接&#xff1a;設計循環隊列 &#xff0c;設計循環雙端隊列。 …

【機器學習】有監督學習算法之:支持向量機

支持向量機 1、引言2、決策樹2.1 定義2.2 原理2.3 實現方式2.4 算法公式2.5 代碼示例 3、總結 1、引言 小屌絲&#xff1a;魚哥&#xff0c;泡澡啊。 小魚&#xff1a;不去 小屌絲&#xff1a;… 此話當真&#xff1f; 小魚&#xff1a;此話不假 小屌絲&#xff1a;到底去還是…

Linux 網絡接口的混雜模式(Promiscuous mode)認知

寫在前面 博文內容為 混雜模式的簡單認知理解不足小伙伴幫忙指正 認定一件事&#xff0c;即使拿十分力氣都無法完成&#xff0c;也要拿出十二分力氣去努力。 —《劍來》 網絡接口的混雜模式 混雜模式(Promiscuous mode)&#xff0c;簡稱 Promisc mode&#xff0c;俗稱監聽模式…

什么是支持向量機(Support vector machine)和其原理

作為機器學習的基礎算法&#xff0c;SVM被反復提及&#xff0c;西瓜書、wiki都能查到詳細介紹&#xff0c;但是總是覺得還差那么點&#xff0c;于是決定自己總結一下。 一、什么是SVM&#xff1f; 1、解決什么問題&#xff1f; SVM&#xff0c;最原始的版本是用于最簡單的線…

藍橋杯備賽第五篇(動態規劃)

1.數位dp public class Main {static long[] limit;static int length;static long[][] dp;public static long dfs(int pos, int pre, boolean flag, boolean lead) {if (pos length) return 1;if (!flag && !lead && dp[pos][pre] ! -1) return dp[pos][pr…

總結 HashTable, HashMap, ConcurrentHashMap 之間的區別

1.多線程環境使用哈希表 HashMap 不行,線程不安全 更靠譜的,Hashtable,在關鍵方法上加了synchronized 后來標準庫又引入了一個更好的解決方案;ConcurrentHashMap 2.HashMap 首先HashMap本身線程不安全其次HashMap的key值可以為空&#xff08;當key為空時&#xff0c;哈希會…

【Java數據結構】——五道算法題讓你靈活運用Map和Set

目錄 一.只出現一次的數字 二.寶石與石頭 三.舊鍵盤 四.給定一個數組&#xff0c;統計每個元素出現的次數 五.前K個高頻單詞 一.只出現一次的數字 136. 只出現一次的數字 - 力扣&#xff08;LeetCode&#xff09; 算法原理&#xff1a;我們將nums中每個元素都存入到set中…

C/C++嵌入式開發環境搭建,Qt交叉編譯,cmake交叉編譯,clion/vscode遠程開發

目錄 交叉編譯簡介cmake 交叉編譯clion 交叉編譯vscode 遠程嵌入式開發Qt交叉編譯1.安裝交叉編譯工具2.交叉編譯qt庫3.將交叉編譯的Qt庫復制到板子上4.安裝和配置 Qt Creator&#xff0c;支持交叉編譯5.QT嵌入式開發6.QT嵌入式開發報錯解決QIconvCodec::convertToUnicode: usin…

ASUS華碩天選5筆記本電腦FX607JV原裝出廠Win11系統下載

ASUS TUF Gaming F16 FX607JV天選五原廠Windows11系統 適用型號&#xff1a; FX607JU、FX607JI、FX607JV、 FX607JIR、FX607JVR、FX607JUR 下載鏈接&#xff1a;https://pan.baidu.com/s/1l963wqxT0q1Idr98ACzynQ?pwd0d46 提取碼&#xff1a;0d46 原廠系統自帶所有驅動、…

TypeScript中 “ <> “ 語法 和 “ : “ 怎么使用

在 TypeScript 中&#xff0c;尖括號語法(<Type>)和as關鍵字(value as Type)都是用于類型斷言&#xff0c;而冒號(:)用于類型注解。這三種語法在不同的場景下使用&#xff1a; 尖括號語法和as關鍵字&#xff1a; 尖括號語法(<Type>value)&#xff1a; 這種語法在…

[LeetBook]【學習日記】鏈表反轉

來源于「Krahets」的《圖解算法數據結構》 https://leetcode.cn/leetbook/detail/illustration-of-algorithm/ 鏈表反轉的遞歸要點 遞歸終止條件為當前節點為空&#xff0c;表明遍歷到了鏈表尾部遞歸函數傳入參數為當前節點的下一個節點按照是否重新開辟存儲空間分類下面只寫…

python自動化學習--3.8python操作EXCEL文件python日志收集處理

1、Excel文件處理 安裝 openpxl 第三方庫 openpxl 模塊三大組件: 1、工作簿 &#xff08;包含多個sheet工作表&#xff09; 2、工作表 &#xff08;某個數據包含在某個工作表&#xff09; 3、單元格 1、創建excel工作簿 import openpyxl"""Excel表格的創建…