【Vue-路由案例】面經基礎版

目錄

  • <<回到導覽
  • 1.面經基礎版
    • 1.1.VueCli建項目
      • 1.1.1.VueCli 自定義項目
      • 1.1.2.ESlint代碼規范
    • 1.2.項目路由
      • 1.2.1.一級路由配置
      • 1.2.2.二級配置路由
      • 1.2.3.設置高亮
      • 1.2.4.發生請求、渲染
      • 1.2.5.跳轉傳參、再發請求
      • 1.2.6.體驗優化
      • 1.2.7.keep-alive

<<回到導覽

1.面經基礎版

1.1.VueCli建項目

1.1.1.VueCli 自定義項目

  1. 安裝腳手架 (已安裝)

    npm i @vue/cli -g
    
  2. 創建項目

    vue create 項目名
    
  3. 選擇創建自定義項目選項,回車

    外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

  4. 自定義項目(空格鍵為確認/取消),回車

    外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

  5. 選擇vue的版本

    外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

  6. 是否使用history模式

    外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

  7. 選擇css預處理

    外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

  8. 選擇eslint規范

    外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

  9. 選擇校驗的時機 (保存校驗)

    外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

  10. 選擇配置文件的生成方式(放在單獨的文件之中)

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

  1. 是否保存預設,為預設命名

    外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

    當我們保存預設后,下次可以直接建立含有上面選項的項目
    在這里插入圖片描述

  2. 項目創建完畢

1.1.2.ESlint代碼規范

JavaScript Standard Style 規范說明:https://standardjs.com/rules-zhcn.html

  • 通過eslint插件來實現自動修正

    外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

  • 配置VSCode

    外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

    外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

    添加配置代碼

    // 當保存的時候,eslint自動幫我們修復錯誤
    "editor.codeActionsOnSave": {"source.fixAll": true
    },
    // 保存代碼,不自動格式化
    "editor.formatOnSave": false
    

1.2.項目路由

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

1.2.1.一級路由配置

import Vue from 'vue'
import VueRouter from 'vue-router'
// 一級路由
import Layout from '@/views/Layout.vue'
import ArticleDetail from '@/views/ArticleDetail.vue'Vue.use(VueRouter)
const router = new VueRouter({routes: [{path: '/',component: Layout},{path: '/detail',component: ArticleDetail}]
})
export default router

1.2.2.二級配置路由

通過children配置項,可以進行路由嵌套,配置二級路由

  1. 二級配置路由(view/index.js)

    routes: [// 一級路由{path: '/',component: Layout,children: [// 二級路由{path: '/article',component: Article},{path: '/collect',component: Collect},{path: '/like',component: Like},{path: '/user',component: User}]},{path: '/detail',component: ArticleDetail}]
    
  2. 配置二級路由出口(Layout.vue)

     <div class="h5-wrapper"><div class="content"><!-- 二級路由出口 --><router-view></router-view></div><nav class="tabbar"><router-link to="/article">面經</router-link><router-link to="/collect">收藏</router-link><router-link to="/like">喜歡</router-link><router-link to="/user">我的</router-link></nav></div>
    

    一級路由的出口在App.vue中

    <div class="wrapper"><router-view></router-view>
    </div>
    

很多同學心里的路由應該是這樣的

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

  • 誠然,這樣的路由更符合我們操作邏輯;

  • 但是在我們最開始的路由圖中,一級路由首頁和二級路由都有個特點,都有導航條

  • 所以首頁和二級路由分為一類,沒有導航條的面經詳情分為一類

  • 從路由出口的角度來看,一級路由出口在App.vue,二級路由出口在首頁(Layout.vue),而導航條在一級路由頁Layout.vue中,二級路由出口外

  • 所以,首頁和二級路由都有都有導航條,而面經詳情頁沒有

  • 說得有點繞,畫個圖方便理解一些(一級路由出口就是包裹、定位一級路由頁的容器,二級亦然)

    外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

1.2.3.設置高亮

  1. 將a標簽替換為<router-link to="/xxx">XXX</router-link>

  2. 設置高亮樣式(也可以先自定義匹配類名)

    .router-link-active{font-weight: 700;color: orange;
    }
    

1.2.4.發生請求、渲染

安裝axios:yarn add axios

接口文檔:

請求地址: https://mock.boxuegu.com/mock/3083/articles
請求方式: get

接下來的操作無非是請求數據(created),循環渲染,這里我就省略了

1.2.5.跳轉傳參、再發請求

  • 為盒子設置點擊傳參

    // 傳參方式多樣,可以自己選擇
    @click="router.push(`/detail?id=${item.id}`)"
    
  • 獲取傳遞參數,將參數傳給服務器,再將結果渲染即可

1.2.6.體驗優化

  1. 為首頁重定向列表頁

    加配置項redirect: '/article'

  2. 為面經詳情頁添加返回上一頁按鈕

    @click="router.back()"
    

1.2.7.keep-alive

  • 當路由被跳轉后,原來所看到的組件就被銷毀了,重新返回后組件又被重新創建了。
  • 所以當點擊返回上一頁按鈕,因為主頁組件已被銷毀,所以并不能回到進入面經詳情頁時,首頁的位置
  • 我們可以利用keep-alive組件,來緩存主頁組件,來完成這個功能

keep-alive 是 Vue 的內置組件,當它包裹動態組件時,會緩存不活動的組件實例,而不是銷毀它們。

keep-alive 是一個抽象組件:它自身不會渲染成一個 DOM 元素,也不會出現在父組件中

  • App.vue

    <template><div class="h5-wrapper"><keep-alive><!-- 一級路由出口 --><router-view></router-view></keep-alive></div>
    </template>
    

    以上代碼,keep-alive包裹了一級路由出口,那么一級路由頁都會被緩存;但是同為一級路由頁的面經詳情頁,我們并不想其緩存(因為面經詳情頁太多了,瀏覽量多的畫會影響性能),我們可以利用keep-alive的三個屬性

    屬性效果
    include組件名數組,只有匹配的組件會被緩存
    exclude組件名數組,任何匹配的組件都不會被緩存
    max最多可以緩存多少組件實例
  • 上面代碼可以改為(只顯示了修改的部分)

    <!-- LayoutPage為組件名,沒有組件名才會匹配組件名 -->
    <keep-alive :include="['LayoutPage']"><router-view></router-view>
    </keep-alive>
    

    緩存組件后,再返回首頁,created,mounted等生命鉤子并不會觸發(因為組件沒有被重新創建),如果我們要返回首頁立即觸發某些事件,我們可以利用keep-alive 的額外的兩個生命周期鉤子。

    生命周期鉤子觸發時機
    activated當組件被激活(使用)的時候觸發
    deactivated當組件不被使用的時候觸發

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

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

相關文章

【T2I】MIGC: Multi-Instance Generation Controller for Text-to-Image Synthesis

code&#xff1a;CVPR 2024 MIGC: Multi-Instance Generation Controller for Text-to-Image Synthesis [CVPR 2024] MIGC: Multi-Instance Generation Controller for Text-to-Image Synthesis - 知乎 Abstract 我們提出了一個多實例生成(Multi-Instance Generation, MIG)任務…

用AI來了解用戶都在關注的品牌問題是什么?

? ??用戶重復問的核心問題整理?? 基于百度文心一言、豆包、KIMI、騰訊元寶、DeepSeek五大模型的回答&#xff0c;企業最關注的GEO問題可歸納為以下10類&#xff08;按優先級排序&#xff09;&#xff1a; ??1. GEO是什么&#xff1f;與傳統SEO有何本質區別&#xff1f…

OpenCv(七)——模板匹配、打包、圖像的旋轉

目錄 一、模板匹配 模板匹配原理 1、單模板之間的匹配 &#xff08;1&#xff09;讀取并顯示待匹配的圖片和模板圖片 &#xff08;2&#xff09;模板匹配并繪制匹配位置的外接矩形 &#xff08;3&#xff09;顯示最終的效果 2、模板與多個對象匹配&#xff0c;僅匹配當前…

藍橋云客 最大和

問題描述 小藍在玩一個尋寶游戲&#xff0c;游戲在一條筆直的道路上進行&#xff0c;道路被分成了 n 個方格&#xff0c;依次編號 1 至 n&#xff0c;每個方格上都有一個寶物&#xff0c;寶物的分值是一個整數&#xff08;包括正數、負數和零&#xff09;&#xff0c;當進入一…

【C++算法】49.分治_歸并_計算右側小于當前元素的個數

文章目錄 題目鏈接&#xff1a;題目描述&#xff1a;解法C 算法代碼&#xff1a;圖解 題目鏈接&#xff1a; 315. 計算右側小于當前元素的個數 題目描述&#xff1a; 解法 歸并排序&#xff08;分治&#xff09; 當前元素的后面&#xff0c;有多少個比我小。&#xff08;降序&…

IPSec簡單例子

實驗說明 使用Ensp模擬器實現IPsec隧道實驗。IPSec是一種VPN技術&#xff0c;配置的思路首先是兩個網絡先通&#xff0c;然后配置ACL、IEK和IPSec對等體&#xff0c;從而建立VPN隧道。 實驗拓撲 配置過程 1 配置IP地址以及OSPF路由 # 配置中使用了簡寫命令&#xff0c;不熟…

車載聯網終端4G汽車TBOX介紹定義與概述

汽車 TBOX&#xff08;Telematics Box&#xff09;是專為汽車設計的遠程通信終端設備&#xff0c;屬于車聯網系統的關鍵組成部分。車聯網系統一般包含主機、汽車 T - BOX、手機 APP 及后臺系統。融合了車身網絡和 4G 無線通信技術&#xff0c;為汽車提供豐富的 Telematics 服務…

《DeepSeek RAG 增強檢索知識庫系統》Ollama DeepSeek 流式應答頁面對接之三

前言 自從有了 AI 工具以后&#xff0c;所有以前頭疼前端頁面開發的后端程序員&#x1f468;&#x1f3fb;?&#x1f4bb;&#xff0c;都漏出了友善&#x1f60a;微笑&#xff01; 主要我們可以清楚地表達編寫頁面訴求&#xff0c;AI 工具就可以非常準確且迅速的完成代碼的實…

【MyBatis】深入解析 MyBatis:關于注解和 XML 的 MyBatis 開發方案下字段名不一致的的查詢映射解決方案

注解查詢映射 我們再來調用下面的 selectAll() 這個接口&#xff0c;執行的 SQL 是 select* from user_info&#xff0c;表示全列查詢&#xff1a; 運行測試類對應方法&#xff0c;在日志中可以看到&#xff0c;字段名一致&#xff0c;Mybatis 就成功從數據庫對應的字段中拿到…

深入理解Java性能調優與JVM底層機制

Java作為一種廣泛應用的編程語言&#xff0c;在企業級應用中占據著舉足輕重的地位。隨著系統規模的擴大和業務需求的復雜化&#xff0c;性能調優成為了開發過程中不可忽視的一環。Java的性能瓶頸往往并不直接來自代碼本身&#xff0c;而是與JVM&#xff08;Java虛擬機&#xff…

odo18實施——銷售-倉庫-采購-制造-制造外包-整個流程自動化單據功能的演示教程

安裝模塊 安裝銷售 、庫存、采購、制造模塊 2.開啟外包功能 在進入制造應用點擊 配置—>設置 勾選外包&#xff0c;點擊保存 添加信息 一、添加客戶信息 點擊到銷售應用 點擊訂單—>客戶 點擊新建 創建客戶1&#xff0c;及其他客戶相關信息&#xff0c;點…

Logo語言的在線課程學習

Logo語言在線課程學習的探索 引言 在信息技術快速發展的今天&#xff0c;編程已經成為一門重要的技能。尤其隨著人工智能、數據分析和互聯網技術的普及&#xff0c;各種編程語言層出不窮&#xff0c;其中Logo語言以其獨特的教育意義和學習優勢&#xff0c;逐漸受到學校和教育…

情感語音的“開源先鋒”!網易開源

語音合成技術近年來取得了顯著進步&#xff0c;特別是在語音克隆、語音助手、配音服務和有聲讀物等領域。然而&#xff0c;如何讓合成的語音更具情感&#xff0c;更貼近人類的真實表達&#xff0c;一直是這一領域的重要研究方向。今天&#xff0c;我們將為大家介紹一款由網易有…

攝像頭模塊對焦方式的類型

攝像頭模塊的對焦方式直接影響成像清晰度和使用場景適應性&#xff0c;不同技術各有其優缺點。以下是常見對焦方式及其原理、特點和應用場景的詳細說明&#xff1a; ?1. 固定對焦&#xff08;Fixed Focus&#xff09;? ?原理?&#xff1a;鏡頭固定在特定距離&#xff08;…

使用Vue、Nodejs以及websocket搭建一個簡易聊天室

簡易聊天室 說在前面效果展示websocketwebsocket的由來websocket的特點 vue前端靜態結構效果代碼 點擊切換用戶以及該用戶高亮實現思路效果展示 發送消息功能效果展示 連接服務端 Nodejs服務器端實現步驟代碼 說在前面 在學習計算機網絡的時候&#xff0c;看到了websocket這個…

【免費】2005-2019年各地級市綠色專利申請量數據

2005-2019年各地級市綠色專利申請量數據 1、時間2005-2019年 2、來源&#xff1a;國家知識產權局 3、指標&#xff1a;省份、城市、年份、綠色發明專利申請量、綠色實用新型專利申請量 4、范圍&#xff1a;360地級市 5、指標解釋&#xff1a;綠色專利是指涉及環保、新能源…

架構師面試(二十六):系統拆分

問題 今天我們聊電商系統實際業務場景的問題&#xff0c;考查對業務系統問題的分析能力、解決問題的能力和對系統長期發展的整體規劃能力。 一電商平臺在早期階段業務發展迅速&#xff0c;DAU在 10W&#xff1b;整個電商系統按水平分層架構進行設計&#xff0c;包括【入口網關…

2. Qt界面文件原理

本節主要介紹ui文件如何與窗口關聯&#xff0c;并通過隱式連接方式顯示對話框 本文部分ppt、視頻截圖原鏈接&#xff1a;[萌馬工作室的個人空間-萌馬工作室個人主頁-嗶哩嗶哩視頻] 1 UI文件如何與窗口關聯 1.1 mainwindow.cpp的頭文件ui_mainwindow.h 根據編譯原理的基本規…

雅思大作文寫作——詞伙、簡單句、并列句的使用

詞伙是一些可以表達我們常用觀點的單詞組合,這個組合可能不只是2-3個單詞,也可能是很多單詞組成的一個短句。 一、詞伙使用 1. 不要中譯英 2. 重視詞伙,而非單詞 如何替換表達 1. 如果要替換的是一個名詞,如students,則有下面的一些方法: A. 使用替換詞或者詞組:y…

?算法OJ?滑動窗口最大值【雙端隊列(deque)】Sliding Window Maximum

文章目錄 雙端隊列(deque)詳解基本特性常用操作1. 構造和初始化2. 元素訪問3. 修改操作4. 容量操作 性能特點時間復雜度&#xff1a;空間復雜度&#xff1a; 滑動窗口最大值題目描述方法思路解決代碼 雙端隊列(deque)詳解 雙端隊列(deque&#xff0c;全稱double-ended queue)是…