Web前端實戰:Vue工程化+ElementPlus

1.Vue工程化

在這里插入圖片描述

1.1介紹

在這里插入圖片描述

  • 模塊化:將js和css等,做成一個個可復用模塊
  • 組件化:我們將UI組件,css樣式,js行為封裝成一個個的組件,便于管理
  • 規范化:我們提供一套標準的規范的目錄接口和編碼規范,所有開發人員遵循這套規范
  • 自動化:項目的構建,測試,部署全部都是自動完成

1.2環境準備

1.2.1 NodeJS安裝

在這里插入圖片描述
1). 驗證NodeJS的環境變量
NodeJS 安裝完畢后,會自動配置好環境變量,我們驗證一下是否安裝成功,通過: node -v
[圖片]

2). 配置npm的全局安裝路徑
[圖片]

使用 管理員身份 運行命令行,在命令行中,執行如下指令:

npm config set prefix "D:\develop\NodeJS"

注意:D:\develop\NodeJS 這個目錄是NodeJS的安裝目錄 !!!

3). 切換為淘寶鏡像,加速下載:

npm config set registry https://registry.npmmirror.com

1.2.3npm介紹

  • npm:Node Package Manager,是NodeJS的軟件包管理器。
    [圖片]

在開發前端項目的過程中,我們需要相關的依賴,就可以直接通過 npm install xxx 命令,直接從遠程倉庫中將依賴直接下載到本地了。

1.3 Vue項目創建

1.3.1項目創建

創建一個工程化的Vue項目,執行命令:npm create vue@3.3.4
[圖片]
項目創建完成以后,進入vue-project01 項目目錄,執行命令安裝當前項目的依賴:npm install
[圖片]

1.3.2項目結構

在這里插入圖片描述

1.3.3啟動項目

  • 方式一:命令行
    啟動項目,我們可以在命令行中執行命令:npm run dev,就可以啟動Vue項目了。
    [圖片]

  • 方式二:Vscode圖形化界面
    點擊NPM腳本中的dev后的運行按鈕,就可以啟動項目。
    在這里插入圖片描述

啟動起來之后,我們就可以訪問前端Vue項目了,訪問路徑:http://localhost:5173

1.4Vue項目開發流程

在這里插入圖片描述

其中*.vue是Vue項目中的組件文件,在Vue項目中也稱為單文件組件(SFC,Single-File Components)。
在這里插入圖片描述

1.5 API風格

  • 組合式API:是Vue3提供的一種基于函數的組件編寫方式,通過使用函數來組織和復用組件的邏輯。它提供了一種更靈活、更可組合的方式來編寫組件。代碼形式如下:
<script setup>
import { ref, onMounted } from 'vue';
const count = ref(0); //聲明響應式變量function increment(){ //聲明函數count.value++;
}onMounted(() => { //聲明鉤子函數console.log('Vue Mounted....'); 
})
</script><template><input type="button" @click="increment"> Api Demo1 Count : {{ count }}
</template><style scoped></style>
  • setup:是一個標識,告訴Vue需要進行一些處理,讓我們可以更簡潔的使用組合式API。
  • ref():接收一個內部值,返回一個響應式的ref對象,此對象只有一個指向內部值的屬性 value。
  • onMounted():在組合式API中的鉤子方法,注冊一個回調函數,在組件掛載完成后執行。
  • 選項式API
    選項式API:可以用包含多個選項的對象來描述組件的邏輯,如:data,methods,mounted等。選項定義的屬性都會暴露在函數內部的this上,它會指向當前的組件實例。
<script>
export default{data() {return {count: 0}},methods: {increment: function(){this.count++}},mounted() {console.log('vue mounted.....');}
}
</script><template><input type="button" @click="increment">Api Demo1 Count :  {{ count }}
</template><style scoped></style>

在Vue中的組合式API使用時,是沒有this對象的,this對象是undefined。

2.ElementPlus

2.1介紹

Element:是餓了么公司前端開發團隊提供的一套基于 Vue3 的網站組件庫,用于快速構建網頁。
Element 提供了很多組件(組成網頁的部件)供我們使用。例如 超鏈接、按鈕、圖片、表格等等。
官方網站:https://element-plus.org/zh-CN/#/zh-CN

2.2快速入門

準備工作:
1). 將準備好的文件,使用VSCode將其打開。
[圖片]

2). 參照官方文檔,安裝ElementPlus的組件庫(在當前工程的目錄下),執行如下命令:

npm install element-plus@2.4.4 --save

[圖片]

3). 在main.js 中引入ElementPlus組件庫 (參照官方文檔),最終 main.js 中代碼如下:

import { createApp } from 'vue'
import App from './App.vue'import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'const app = createApp(App)
app.use(ElementPlus)app.mount('#app')

制作組件:
1) 訪問ElementPlus的官方文檔,查看對應的組件源代碼。
[圖片]

2). 在 src下創建 views 目錄,在 views 目錄下,創建Element.vue組件文件,復制組件代碼,調整成自己想要的 。

<script setup></script><template><el-row class="mb-4"><el-button>Default</el-button><el-button type="primary">Primary</el-button><el-button type="success">Success</el-button><el-button type="info">Info</el-button><el-button type="warning">Warning</el-button><el-button type="danger">Danger</el-button></el-row>
</template><style scoped></style>

3). 在根組件 app.vue 中引入Element.vue

<script setup>
import Element from './views/Element.vue'
</script><template><Element></Element>
</template><style scoped></style>

4). 啟動項目,訪問 http://localhost:5173
在這里插入圖片描述

2.3常見組件

2.3.1表格組件

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

代碼:

<script setup>
const tableData = [{date: '2016-05-03', name: 'Tom', address: 'No. 189, Grove St, Los Angeles'},{date: '2016-05-02', name: 'Tom', address: 'No. 189, Grove St, Los Angeles'},{date: '2016-05-04', name: 'Tom', address: 'No. 189, Grove St, Los Angeles'},{date: '2016-05-01', name: 'Tom', address: 'No. 189, Grove St, Los Angeles'}
]
</script><template><!-- Table表格 --><el-table :data="tableData" border style="width: 100%"><el-table-column prop="date" label="日期" width="180" /><el-table-column prop="name" label="姓名" width="180" /><el-table-column prop="address" label="住址" /></el-table>
</template>

Table表格組件,屬性說明:

  • data: 主要定義table組件的數據模型
  • prop: 定義列的數據應該綁定data中定義的具體的數據模型
  • label: 定義列的標題
  • width: 定義列的寬度

2.3.2分頁條組件

在這里插入圖片描述
在這里插入圖片描述

默認情況下,ElementPlus的組件是英文的,如果希望使用中文語言,可以在 main.js 中做如下配置:

import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
app.use(ElementPlus, {locale: zhCn})

代碼:

<script setup>
const currentPage4 = ref(1)
const pageSize4 = ref(10)const handleSizeChange = (val) => {console.log(`設置每頁大小: ${val}`)
}
const handleCurrentChange = (val) => {console.log(`設置當前頁: ${val}`)
}
</script><template><!-- pagination分頁 --><el-paginationv-model:current-page="currentPage4"v-model:page-size="pageSize4":page-sizes="[10, 20, 30, 40]"layout=" sizes, prev, pager, next, jumper,total":total="40"@size-change="handleSizeChange"@current-change="handleCurrentChange"/>
</template>

Pagination 分頁組件的屬性如下:

  • background: 添加北京顏色,也就是上圖藍色背景色效果。
  • layout: 分頁工具條的布局,其具體值包含sizes, prev, pager, next, jumper, total 這些值
  • total: 數據的總數量
  • size-change : pageSize 改變時會觸發
  • current-change :currentPage 改變時會觸發

2.3.3對話框組件

在這里插入圖片描述
在這里插入圖片描述

<script setup>
// Dialog對話框
const dialogTableVisible = ref(false)
</script><template><!-- Dialog對話框 --><el-button @click="dialogTableVisible = true">打開對話框</el-button><el-dialog v-model="dialogTableVisible" title="Shipping address"><el-table :data="tableData"><el-table-column property="date" label="Date" width="150" /><el-table-column property="name" label="Name" width="200" /><el-table-column property="address" label="Address" /></el-table></el-dialog>
</template>

Dialog對話框組件使用的關鍵點,就是控制其顯示與隱藏。 通過 v-model 給定的boolean值,來控制Dialog的顯示與隱藏。

2.3.4表單組件

在這里插入圖片描述

<script setup>
import { ref } from 'vue'
// Form表單
const formInline = ref({user: '',region: '',date: '',
})
const onSubmit = () => {console.log('提交!')
}
</script><template><!-- Form 表單 --><el-form :inline="true" :model="formInline" class="demo-form-inline"><el-form-item label="姓名"><el-input v-model="formInline.user" placeholder="Approved by" clearable /></el-form-item><el-form-item label="性別"><el-select v-model="formInline.region" placeholder="Activity zone" clearable><el-option label="Zone one" value="shanghai" /><el-option label="Zone two" value="beijing" /></el-select></el-form-item><el-form-item label="日期"><el-date-picker v-model="formInline.date" type="date" placeholder="Pick a date" clearable/></el-form-item><el-form-item><el-button type="primary" @click="onSubmit">提交</el-button></el-form-item></el-form>
</template>

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

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

相關文章

ECMAScript2021(ES12)新特性

概述 ECMAScript2021于2021年6月正式發布&#xff0c; 本文會介紹ECMAScript2021(ES12)&#xff0c;即ECMAScript的第12個版本的新特性。 以下摘自官網&#xff1a;ecma-262 ECMAScript 2021, the 12th edition, introduced the replaceAll method for Strings; Promise.any,…

Tlias 案例-整體布局(前端)

開發流程前端開發和后端開發是一樣的&#xff0c;都需要閱讀接口文檔。 準備工作&#xff1a; 1&#xff1a;導入項目中準備的基礎過程到 VsCode。2&#xff1a;啟動前端項目&#xff0c;訪問該項目3&#xff1a;熟悉一下基本的布局<script setup></script><tem…

三十二、【Linux網站服務器】搭建httpd服務器演示虛擬主機配置、網頁重定向功能

httpd服務器功能演示一、虛擬主機配置虛擬主機技術全景虛擬主機目錄規范1. 基于端口的虛擬主機&#xff08;8080/8081&#xff09;2. 基于IP的虛擬主機&#xff08;192.168.1.100/192.168.1.101&#xff09;3. 基于域名的虛擬主機&#xff08;site1.com/site2.com&#xff09;二…

串行化:MYSQL事務隔離級別中的終極防護

在現代應用程序中&#xff0c;數據的一致性和可靠性至關重要。想象一下&#xff0c;如果在一個銀行系統中&#xff0c;兩個用戶同時試圖轉賬到同一個賬戶&#xff0c;最終的數據結果可能會出乎意料。為了避免這種情況&#xff0c;MYSQL提供了不同的事務隔離級別&#xff0c;其中…

RAG:檢索增強生成的范式演進、技術突破與前沿挑戰

1 核心定義與原始論文 RAG&#xff08;Retrieval-Augmented Generation&#xff09;由Facebook AI Research團隊于2020年提出&#xff0c;核心思想是將參數化記憶&#xff08;預訓練語言模型&#xff09;與非參數化記憶&#xff08;外部知識庫檢索&#xff09;結合&#xff0c…

2024年藍橋杯Scratch10月圖形化stema選拔賽真題——旋轉的圖形

旋轉的圖形編程實現旋轉的圖形。具體要求1&#xff09;點擊綠旗&#xff0c;在舞臺上出現滑桿形式的變量 r&#xff0c;取值范圍為-1、0、1&#xff0c;默認值為 0&#xff0c;如圖所示&#xff1b;2&#xff09;1秒后&#xff0c;在舞臺上繪制出一個紅色正方形&#xff08;邊長…

【音視頻】WebRTC 開發環境搭建-Web端

一、開發環境搭建 1.1 安裝vscode 下載VSCode&#xff1a;https://code.visualstudio.com/&#xff0c;下載后主要用于開發Web前端頁面&#xff0c;編寫前端代碼 安裝完成后下載Live Server插件&#xff0c;用于本地開發&#xff0c;實時加載前端頁面 1.1.1 前端代碼測試 下…

力扣54:螺旋矩陣

力扣54:螺旋矩陣題目思路代碼題目 給你一個 m 行 n 列的矩陣 matrix &#xff0c;請按照 順時針螺旋順序 &#xff0c;返回矩陣中的所有元素。 思路 思路很簡單創建一個二維數組然后按照箭頭所示的順序一層一層的給二維數組相應的位置賦值即可。難點是我們是一層一層的賦值…

【CSS】設置表格表頭固定

1.設置thead樣式在thead元素中增加樣式&#xff1a;position: sticky;top: 0;2.設置table樣式在table元素中增加樣式&#xff1a;border-collapse: separate; /* 分離邊框模式 */ border-spacing: 0;3.設置表頭偽元素樣式增加樣式&#xff1a;th::after {content: ;position: a…

Baumer工業相機堡盟工業相機如何通過YoloV8深度學習模型實現標簽條碼一維碼的檢測(C#代碼,UI界面版)

Baumer工業相機堡盟工業相機如何通過YoloV8深度學習模型實現標簽條碼一維碼的檢測&#xff08;C#代碼&#xff0c;UI界面版&#xff09;&#xff09;工業相機使用YoloV8模型實現標簽條碼一維碼的檢測工業相機通過YoloV8模型實現標簽條碼的檢測的技術背景在相機SDK中獲取圖像轉換…

如何編寫好的測試用例?

&#x1f345; 點擊文末小卡片 &#xff0c;免費獲取軟件測試全套資料&#xff0c;資料在手&#xff0c;漲薪更快對于軟件測試工程師來說&#xff0c;設計測試用例和提交缺陷報告是最基本的職業技能。是非常重要的部分。一個好的測試用例能夠指示測試人員如何對軟件進行測試。在…

《Java 程序設計》第 12 章 - 異常處理

大家好&#xff01;今天我們來學習《Java 程序設計》中的第 12 章 —— 異常處理。在編程過程中&#xff0c;錯誤和異常是不可避免的。一個健壯的程序必須能夠妥善處理各種異常情況。本章將詳細介紹 Java 中的異常處理機制&#xff0c;幫助大家編寫出更穩定、更可靠的 Java 程序…

STM32CubeIDE新建項目過程記錄備忘(二) GPIO輸出demo:LED閃爍

利用前面創建好的基礎模板項目文件&#xff0c;創建第一個應用項目&#xff0c;單片機的hello world&#xff1a;LED閃爍。打開模板文件文件--從文件系統中打開項目&#xff1a;在彈出的窗口中選擇之前創建的模板項目文件并打開。復制粘貼新項目 在項目管理器&#xff0c;復制之…

HTML基礎P2 | JS基礎講解

什么是JS JS是一個網頁的腳本語言&#xff0c;你可以理解為在HTML中寫類似于JAVA等高級編程語言的代碼&#xff0c;使得網頁可以實現一些包含邏輯處理的交互操作 簡單上手例子 接下來&#xff0c;給大家一個簡單的小例子來感受一下 <!DOCTYPE html> <html lang&qu…

QT筆記(2)——vscode + CMAKE + qtcreate的操作方式

1.vscode 下載cmake&#xff0c;clangd&#xff0c;qtConfigure&#xff0c;cmake tool的相關插件支持 2. qtConfigure插件配置 根據自己下載的qt目錄下尋找如圖的相關工具 3. qt環境變量配置 在系統變量的path中添加qt編譯需要的環境變量。 4.下載Cmake支持 CMake下…

sed編程入門

一.sed是啥sed&#xff08;流編輯器&#xff0c;Stream Editor&#xff09;是 Unix/Linux 系統中強大的文本處理工具&#xff0c;常用于對文本進行替換、刪除、插入、追加等操作。它逐行處理輸入文本&#xff0c;并根據提供的腳本命令修改文本&#xff0c;最后輸出結果。二.基本…

知識速查大全:python面向對象基礎

目錄 一、面向對象的基本概念 二、類和對象 1.類 2.對象 三、屬性&#xff08;數據&#xff09;和方法 1.數據 1.1.實例數據 1.2.類數據 2.方法 2.1.實例方法 2.2.類方法 3.數據和方法的綜合使用 四、面向對象三大特性 1.封裝 2.繼承 2.1.單繼承 2.2.多繼承 2.3.混合類 2.4.方法…

Linux系統編程Day1-- 免費云服務器獲取以及登錄操作

一、 學生黨如何“白嫖”或免費使用云服務器&#xff1f; 作為學生黨&#xff0c;資金有限的情況下確實不容易長期負擔服務器費用。但好消息是&#xff0c;有多種方式可以“白嫖”或低成本使用云服務器&#xff0c;尤其是針對學生身份、學習用途和開發者計劃。 1、使用各大云平…

15.11 單卡訓練770M參數模型!DeepSpeed ZeRO-3實戰:RTX 4090顯存直降6.8GB

單卡訓練770M參數模型!DeepSpeed ZeRO-3實戰:RTX 4090顯存直降6.8GB 實戰 DeepSpeed ZeRO-2 和 ZeRO-3 單機單卡訓練 為什么需要單機單卡訓練場景? 雖然 DeepSpeed 的 ZeRO 技術主要面向分布式訓練場景,但單機單卡訓練仍然具有重要實踐價值: 開發調試:在資源有限情況下…

HTTPS基本工作過程:基本加密過程

HTTPS基本工作過程&#xff1a;HTTPS只是HTTP的基礎上引入加密機制1.引入對稱加密首先&#xff0c;什么是對稱加密和非對稱加密&#xff1f;對稱加密&#xff1a;使用同一把密鑰加密解密非對稱加密&#xff1a;有兩把密鑰&#xff0c;為公鑰&#xff08;公開的&#xff09;和私…