【Vue】路由的基本使用

文章目錄

  • 一、固定5個固定的步驟
  • 二、代碼示例
  • 三、兩個核心步驟
  • 四、完整代碼

vue-router插件作用 修改地址欄路徑時,切換顯示匹配的組件

說明 Vue 官方的一個路由插件,是一個第三方包

官網 https://v3.router.vuejs.org/zh/

VueRouter的使用(5+2)

一、固定5個固定的步驟

固定5個固定的步驟(不用死背,熟能生巧)

  1. 下載 VueRouter 模塊到當前工程,版本3.6.5

    Vue2對應的是3.6.5版本,口訣:2 3 3(Vue2 VueRouter3.x Vuex3.x),3 4 4(Vue3,VueRouter4.x,Vuex4.x)

    yarn add vue-router@3.6.5
    
  2. main.js中引入VueRouter

    import VueRouter from 'vue-router'
    
  3. 安裝注冊

    由于VueRouter是Vue的插件,所以在實際使用的時候,Vue相關的插件是需要安裝注冊之后再使用的,這個安裝注冊內部,它會幫你去進行一些組件的全局注冊,說白了就是在進行插件的初始化

    Vue.use(VueRouter)
    
  4. 創建路由對象

    const router = new VueRouter()
    
  5. 注入,將路由對象注入到new Vue實例中,建立關聯

    雖然在路由對象里面沒有配任何的規則,但是當你注入的那一刻開始,就代表著這個Vue實例已經被我們的VueRouter接管了!

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

當我們配置完以上5步之后 就可以看到瀏覽器地址欄中的路由 變成了 /#/的形式。表示項目的路由已經被Vue-Router管理了

68247920745


二、代碼示例

main.js

// 路由的使用步驟 5 + 2
// 5個基礎步驟
// 1. 下載 v3.6.5
// yarn add vue-router@3.6.5
// 2. 引入
// 3. 安裝注冊 Vue.use(Vue插件)
// 4. 創建路由對象
// 5. 注入到new Vue中,建立關聯import VueRouter from 'vue-router'
Vue.use(VueRouter) // VueRouter插件初始化const router = new VueRouter()new Vue({render: h => h(App),// 簡寫:routerrouter: router
}).$mount('#app')

三、兩個核心步驟

這兩個步驟就是不同的項目配置起來不一樣的

  1. 創建需要的組件 (views目錄),配置路由規則

    平時組件我們會放在components目錄,但是在路由中,推薦放到views(視圖)目錄

    如果需要往VueRouter中配規則,就需要往里面寫個對象,并且對象中含有routes字段

    數組中包含的每一個對象就是一個規則,path中使用的是地址欄的絕對路徑,是沒有.的

    68247963966

  2. 配置導航,配置路由出口(路徑匹配的組件顯示的位置)

    App.vue

    <div class="footer_wrap"><a href="#/find">發現音樂</a><a href="#/my">我的音樂</a><a href="#/friend">朋友</a>
    </div>
    <div class="top"><!-- 插件所內置的一個組件 --><router-view></router-view>
    </div>
    

組件名只有一個單詞時會報錯

image-20240202212631221

解決辦法:目的就是告訴Vue組件的名字是由多個單詞組成的,以 Friend組件 為例

<template><div><p>我的朋友</p><p>我的朋友</p><p>我的朋友</p><p>我的朋友</p></div>
</template><script>
export default {name: 'MyFriend'
}
</script><style></style>

四、完整代碼

main.js

import Vue from 'vue'
import App from './App.vue'// 路由的使用步驟 5 + 2
// 5個基礎步驟
// 1. 下載 v3.6.5
// 2. 引入
// 3. 安裝注冊 Vue.use(Vue插件)
// 4. 創建路由對象
// 5. 注入到new Vue中,建立關聯// 2個核心步驟
// 1. 建組件(views目錄),配規則
// 2. 準備導航鏈接,配置路由出口(匹配的組件展示的位置) 
import Find from './views/Find'
import My from './views/My'
import Friend from './views/Friend'
import VueRouter from 'vue-router'
Vue.use(VueRouter) // VueRouter插件初始化const router = new VueRouter({// routes 路由規則們// route  一條路由規則 { path: 路徑, component: 組件 }routes: [{ path: '/find', component: Find },{ path: '/my', component: My },{ path: '/friend', component: Friend },]
})Vue.config.productionTip = falsenew Vue({render: h => h(App),router
}).$mount('#app')

App.vue

<template><div><div class="footer_wrap"><a href="#/find">發現音樂</a><a href="#/my">我的音樂</a><a href="#/friend">朋友</a></div><div class="top"><!-- 路由出口 → 匹配的組件所展示的位置 --><router-view></router-view></div></div>
</template><script>
export default {};
</script><style>
body {margin: 0;padding: 0;
}
.footer_wrap {position: relative;left: 0;top: 0;display: flex;width: 100%;text-align: center;background-color: #333;color: #ccc;
}
.footer_wrap a {flex: 1;text-decoration: none;padding: 20px 0;line-height: 20px;background-color: #333;color: #ccc;border: 1px solid black;
}
.footer_wrap a:hover {background-color: #555;
}
</style>

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

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

相關文章

TCP/IP協議介紹——三次握手四次揮手

TCP/IP&#xff08;Transmission Control Protocol/Internet Protocol&#xff0c;傳輸控制協議/網際協議&#xff09;是指能夠在多個不同網絡間實現信息傳輸的協議簇。TCP/IP協議不僅僅指的是TCP 和IP兩個協議&#xff0c;而是指一個由FTP、SMTP、TCP、UDP、IP等協議構成的協議…

CSS學習|css三種導入方式、基本選擇器、層次選擇器、結構偽類選擇器、屬性選擇器、字體樣式、文本樣式

第一個css程序 css程序都是在style標簽中書寫 打開該網頁&#xff0c;可以看到h1標簽中的我是標題被渲染成了紅色 可以在同級目錄下創建一個css目錄&#xff0c;專門存放css文件&#xff0c;可以和html分開編寫 然后在html頁面中&#xff0c;利用link標簽以及css文件地址&…

大模型基架:Transformer如何做優化?

大模型的基礎模式是transformer&#xff0c;所以很多芯片都實現先專門的transformer引擎來加速模型訓練或者推理。本文將拆解Transformer的算子組成&#xff0c;展開具體的數據流分析&#xff0c;結合不同的芯片架構實現&#xff0c;分析如何做性能優化。 Transformer結構 tr…

go的反射和斷言

在go中對于一個變量&#xff0c;主要包含兩個信息變量類型&#xff08;type&#xff09;和變量值&#xff08;value&#xff09; 可以通過reflect包在運行的時候動態獲取變量信息&#xff0c;并能夠進行操作 對于Type可以通過reflect.TypeOf()獲取到變量的類型信息 reflect.Ty…

13_前端工程化_ES6

1.前端工程化概念 前端工程化是使用軟件工程的方法來單獨解決前端的開發流程中模塊化、組件化、規范化、自動化的問題,其主要目的為了提高效率和降低成本。 前后端分離&#xff08;前端代碼工程化獨立出來形成一個單獨的app&#xff09; 1.開發分離 2.部署分離 3.服務器分離…

信號(上)

本節目標&#xff1a; 1. 掌握Linux信號的基本概念 2. 掌握信號產生的一般方式 3. 理解信號遞達和阻塞的概念&#xff0c;原理。 4. 掌握信號捕捉的一般方式。 5. 重新了解可重入函數的概念。 6. 了解競態條件的情景和處理方式 7. 了解SIGCHLD信號&#xff0c; 重新編寫信號處理…

ChatGPT基本原理詳細解說

ChatGPT基本原理詳細解說 引言 在人工智能領域&#xff0c;自然語言處理&#xff08;NLP&#xff09;一直是研究的熱點之一。隨著技術的發展&#xff0c;我們見證了從簡單的聊天機器人到復雜的語言模型的演變。其中&#xff0c;ChatGPT作為一項突破性技術&#xff0c;以其強大…

【Vue】自定義指令-v-loading指令的封裝

場景 實際開發過程中&#xff0c;發送請求需要時間&#xff0c;在請求的數據未回來時&#xff0c;頁面會處于空白狀態 > 用戶體驗不好 需求 封裝一個 v-loading 指令&#xff0c;實現加載中的效果 分析 本質 loading效果就是一個蒙層&#xff0c;蓋在了盒子上 數據請求…

從零開始精通Onvif之設備發現

設備發現的意義 在復雜的網絡環境中&#xff0c;如何快速而準確地識別網絡上的Onvif設備&#xff0c;對于攝像頭廠商、系統集成商、開發人員乃至最終用戶來說&#xff0c;都顯得至關重要。 首先&#xff0c;設備發現有效簡化了集成的復雜度。在沒有統一標準之前&#xff0c;每個…

2004NOIP普及組真題 2. 花生采摘

線上OJ&#xff1a; 【04NOIP普及組】花生采摘 核心思想&#xff1a; 1、本題為貪心即可。 2、因為本題嚴格限制了順序&#xff0c;所以先把每個節點的花生數量按降序排序。然后逐一判斷下一個花生是否需要去采摘即可 3、每一次采摘完&#xff0c;記錄耗時 t 以及采集的花…

力扣第417題測試程序

題目描述&#xff1a; 有一個 m n 的矩形島嶼&#xff0c;與 太平洋 和 大西洋 相鄰。 “太平洋” 處于大陸的左邊界和上邊界&#xff0c;而 “大西洋” 處于大陸的右邊界和下邊界。 這個島被分割成一個由若干方形單元格組成的網格。給定一個 m x n 的整數矩陣 heights &#…

基于web的垃圾分類回收系統的設計

管理員賬戶功能包括&#xff1a;系統首頁&#xff0c;個人中心&#xff0c;管理員管理&#xff0c;用戶管理&#xff0c;公告管理&#xff0c;運輸管理&#xff0c;基礎數據管理 用戶賬戶功能包括&#xff1a;系統首頁&#xff0c;個人中心&#xff0c;運輸管理&#xff0c;公告…

pyqt QlineEdit內部增加按鈕方法

pyqt QlineEdit內部增加按鈕方法 def addButton(self,lineEdit):btn QtWidgets.QPushButton("")icon1 QtGui.QIcon()icon1.addPixmap(QtGui.QPixmap(":/image/images/th.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)btn.setIcon(icon1)btn.setStyleShe…

全光譜led燈的危害有哪些?曝光低質量全光譜led燈產生的四大風險

眼睛是人類獲取信息最重要的感官器官之一&#xff0c;而近視則會導致視力模糊&#xff0c;進而影響學習效果和生活品質。因此&#xff0c;如何保護眼睛&#xff0c;尤其是在學習和使用電子設備時&#xff0c;成為了一個迫切需要解決的問題。然而在護眼領域上&#xff0c;護眼臺…

【DevOps】網絡安全進階之路:打造更安全、更可靠的網站

目錄 一、網站面臨的主要安全威脅 1、SQL注入攻擊 2、跨站腳本攻擊(XSS) 3、跨站請求偽造(CSRF) 4、文件上傳漏洞 5、不安全的直接對象引用 6、安全配置錯誤 7、使用含有已知漏洞的組件 二、網站安全防護措施 1、輸入驗證與過濾 2、使用參數化查詢 3、數據輸出編碼…

SCAU 數據結構 實驗六 排序算法

![[Pasted image 20240 8638 直接插入排序 Description 用函數實現直接插入排序&#xff0c;并輸出每趟排序的結果. 輸入格式 第一行&#xff1a;鍵盤輸入待排序關鍵的個數n 第二行&#xff1a;輸入n個待排序關鍵字&#xff0c;用空格分隔數據 輸出格式 每行輸出一趟排序…

掌握Java設計模式的23種武器(全):深入解析與實戰示例

目錄 一、創建型模式 1. 單例模式 (Singleton Pattern) 2. 工廠模式 (Factory Pattern) 3. 抽象工廠模式 (Abstract Factory Pattern) 4. 建造者模式 (Builder Pattern) 5. 原型模式 (Prototype Pattern) 二、結構型模式 6. 適配器模式 (Adapter Pattern) 7. 橋接模式…

通信的本質是什么

通信的本質是信息的傳遞和交換。在通信過程中&#xff0c;信息從一個主體&#xff08;發送方&#xff09;傳遞到另一個主體&#xff08;接收方&#xff09;&#xff0c;目的是使接收方理解或使用發送方傳遞的信息。無論使用什么樣的媒介或技術&#xff0c;通信的核心都是在不同…

十三、resultMap解析

分為兩部分&#xff1a;解析和使用 解析 1.解析XML的時候單獨解析所有的resultMap標簽&#xff0c;封裝成ResultMap對象存入configuration中 2.解析XML中的SQL語句&#xff0c;封裝MappedStatement對象&#xff0c;這里會根據SQL的返回類型是resultMap還是resultType做處理。如…

C語言 | Leetcode C語言題解之第133題克隆圖

題目&#xff1a; 題解&#xff1a; struct Node** visited; int* state; //數組存放結點狀態 0&#xff1a;結點未創建 1&#xff1a;僅創建結點 2&#xff1a;結點已創建并已填入所有內容void bfs(struct Node* s) {if (visited[s->val] && state[s->val] 2…