Vue入門:vue項目的創建和基本概念

一、vue的基本簡介

1. 什么是vue?

Vue (發音為 /vju?/,類似?view) 是一款用于構建用戶界面的 JavaScript 框架。它基于標準 HTML、CSS 和 JavaScript 構建,并提供了一套聲明式的、組件化的編程模型,幫助你高效地開發用戶界面。無論是簡單還是復雜的界面,Vue 都可以勝任。

2. 漸進式框架

Vue 是一個框架,也是一個生態。其功能覆蓋了大部分前端開發常見的需求。但 Web 世界是十分多樣化的,不同的開發者在 Web 上構建的東西可能在形式和規模上會有很大的不同。考慮到這一點,Vue 的設計非常注重靈活性和“可以被逐步集成”這個特點。根據你的需求場景,你可以用不同的方式使用 Vue:

  • 無需構建步驟,漸進式增強靜態的 HTML
  • 在任何頁面中作為 Web Components 嵌入
  • 單頁應用 (SPA)
  • 全棧 / 服務端渲染 (SSR)
  • Jamstack / 靜態站點生成 (SSG)
  • 開發桌面端、移動端、WebGL,甚至是命令行終端中的界面

3.?單文件組件

在大多數啟用了構建工具的 Vue 項目中,我們可以使用一種類似 HTML 格式的文件來書寫 Vue 組件,它被稱為單文件組件?(也被稱為?*.vue?文件,英文 Single-File Components,縮寫為?SFC)。大家可以認為vue只要一個頁面(一個HTML文件),頁面的跳轉和切換都是在這個頁面上,基于路由來進行vue組件的切換。

二、怎么創建第一個vue項目

1、確保存在nodejs,可以通過npm -v測試,沒有需要npm install,(如果已經安裝,控制臺不能使用,需要配置環境變量)

?如果沒有下載通過一下代碼下載:

npm install

2、?npm create vue@latest:創建一個最新版本的vue項目

 npm create vue@latest

3、cd? 項目名:切換到當前項目

4、npm install(簡寫:install i):在項目中安裝nodejs

5、npm run dev:啟動項目

6. 創建成功效果

三、項目結構解析

了解一門技術的最簡單的方法就是了解項目的目錄結構,這里就為大家詳細的介紹一下項目結構:

?四、基礎頁面樣式和基礎內容的格式化

?打開終端打開項目網頁的頁面查看:

?頁面并不是空的,原因是每次創建一個新項目的時候都會有自己的基礎頁面,我們可以把基礎樣式的壓面內容和樣式刪掉,接來就帶大家刪除:

刪除和注釋后的樣子:

刪除App根組件的代碼:

保留結構層(html底代碼),樣式層(css樣式代碼),邏輯層(te/js代碼)的基本代碼:

?再打開?打開終端打開項目網頁的頁面查看:

這樣原來的頁面和基礎樣式就被清除了。?

五、選項式 API?(Options API)?和組合式 API(Composition API)

1. 基本概念

其實我相信大家看見聽見選項式API和組合式API大家肯定會都會有個問題:

①這個兩個到底是什么?

  • 選項式 API(Options API)是 Vue2 中主要的編程方式,在 Vue3 中也保持兼容。它通過在組件對象中定義?datamethodscomputedwatch?等選項來組織代碼,每個選項對應組件的不同功能模塊。
  • 組合式 API(Composition API)是 Vue3 引入的新特性,以?setup?函數為入口,通過?refreactivecomputed?等函數來創建響應式數據和邏輯,允許將相關功能的代碼聚合在一起,更靈活地組織組件邏輯
  • 總的來說:選項式 API(vue2:) 和組合式 API(vue3)是vue的兩種不同的寫法,都能通過他們來寫頁面,但是新技術肯定要比舊技術要好,所以我們以后還是主要學習組合式 API。

②有什么區別嗎?

對比維度選項式 API組合式 API
代碼組織方式按選項(datamethods?等)分割,相關邏輯可能分散按功能模塊聚合,同一功能的代碼集中在一起
靈活性邏輯復用依賴?mixin,易產生命名沖突和來源不清問題可通過自定義函數封裝邏輯,復用性更高,來源清晰
類型支持對 TypeScript 支持較弱,類型推斷有限天然適配 TypeScript,類型檢查更完善
學習成本直觀易懂,適合初學者入門需理解響應式 API(如?refreactive),初期有一定門檻
適用場景簡單組件或中小型項目復雜組件或大型項目,便于維護和擴展

③都要學嗎?

對于新手,可先掌握選項式 API 建立基礎,再逐步學習組合式 API;對于有經驗的開發者,建議重點掌握組合式 API 以充分發揮 Vue3 的優勢。

2. vue的子組件的創建和頁面渲染的原理

2.1?創建子組件

創建選項式子組件:

創建組合式子組件:(代碼更加簡介)

?2.2?單頁面渲染的原理

大家仔細閱讀了前面的內容應該知道vue只有一個頁面,渲染的基本步驟是:

components的子組件==>App根組件==>main.ts渲染==>index頁面

①子組件寫入基本文字提示

②導入App.vue根組件?

?③main.ts渲染到index

3. 選項式API示例

<template><div class="person"><h2>姓名:{{ name }}</h2><h2>年齡:{{ age }}</h2><button @click="changeName">修改名字</button><button @click="changeAge">年齡+1</button><button @click="showTel">點我查看聯系方式</button></div>
</template>
<script lang="ts">
export default {name: 'App',data() {return {name: '張三',age: 18,tel: '13888888888'}},methods: {changeName() {this.name = 'zhang-san'},changeAge() {this.age += 1},showTel() {alert(this.tel)}}
}
</script>
<style scoped>
</style>

4. 組合式API實例

<script setup lang="ts">import { ref } from 'vue'let name = ref('張三')let age = ref(18)let tel = ref('12345678901')function changeName() {name.value = '李四'}function changeAge() {age.value++}function showTel() {alert(tel.value)}
</script><template><h1>組合式API寫法</h1><div class="person"><h2>姓名:{{ name }}</h2><h2>年齡:{{ age }}</h2><button @click="changeName">修改名字</button><button @click="changeAge">年齡+1</button><button @click="showTel">點我查看聯系方式</button></div>
</template><style scoped></style>

運行結果:

六、總結

Vue3 作為 Vue.js 的重大更新,帶來了性能的顯著提升、源碼的優化、更好的 TypeScript 支持以及眾多新特性。在項目創建方面,Vite 作為新一代構建工具,相比 vue - cli 具有更快的啟動速度和更好的開發體驗,是創建 Vue3 項目的推薦選擇。

通過本文的介紹,我們了解了 Vue3 的核心特性、項目創建方法、第一個應用的實現以及實際案例解析。希望這些內容能幫助你快速上手 Vue3,并在實際開發中充分發揮其優勢。無論是從 Vue2 遷移到 Vue3,還是直接學習 Vue3,都能感受到它帶來的便利和提升。

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

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

相關文章

2.oracle保姆級安裝教程

一、Oracle數據庫安裝1.找到軟件的位置 D:\學習軟件\Oracle&#xff0c;并解壓軟件2.雙擊setup.exe3.選擇 是4.去掉勾&#xff0c;下一步5.創建和配置數據庫&#xff0c;下一步6.桌面類&#xff0c;下一步7.配置安裝路徑地址和密碼8.點完成9.正在安裝&#xff0c;稍等片刻10.有…

STM32 軟件模擬 I2C 讀寫 MPU6050--實現加速度與陀螺儀數據采集

演示視頻&#xff1a; https://www.bilibili.com/video/BV1iCQRYXEBb/?share_sourcecopy_web&vd_source0e4269581b0bc60d57a80c9a27c98905一、前言在嵌入式開發中&#xff0c;MPU6050 六軸傳感器因其集成加速度計和陀螺儀且成本低廉&#xff0c;廣泛應用于平衡小車、飛控、…

TFLOPs與TOPS的轉換關系詳解:如何衡量AI芯片的算力?

在評估AI芯片或計算硬件的性能時&#xff0c;我們經常會遇到TFLOPs和TOPS這兩個關鍵指標。很多開發者對它們的區別和轉換關系存在疑惑。本文將深入解析這兩個指標的含義、應用場景及轉換方法&#xff0c;并提供實際應用中的注意事項。 一、基本概念解析 1.1 TFLOPs&#xff08;…

C語言:第11天筆記

C語言&#xff1a;第11天筆記 內容提要函數函數的概述函數的分類函數的定義形參和實參函數的返回值函數的調用函數的聲明函數 函數的概述 **函數&#xff1a;**實現一定功能的&#xff0c;獨立的代碼模塊&#xff0c;對于函數的使用&#xff0c;一定是先定義&#xff0c;后使 ?…

java導出pdf(使用html)

引入maven <dependencies><!-- Thymeleaf --><dependency><groupId>org.thymeleaf</groupId><artifactId>thymeleaf</artifactId><version>3.1.1.RELEASE</version> <!-- 或與 Spring Boot 匹配的版本 --></de…

Qt 遠程過程調用(RPC)實現方案

在分布式系統開發中&#xff0c;遠程過程調用&#xff08;RPC&#xff09;是實現跨進程、跨機器通信的重要技術。Qt 作為一個強大的跨平臺框架&#xff0c;提供了多種 RPC 實現方案&#xff0c;能夠滿足不同場景下的通信需求。本文將深入探討 Qt 中 RPC 的各種實現方式&#xf…

攻防世界-引導-Web_php_unserialize

題目內容&#xff1a;出現一段源代碼&#xff0c;分段分析第一部分如下<?php class Demo { private $file index.php;public function __construct($file) { $this->file $file; }function __destruct() { echo highlight_file($this->file, true); }function __w…

pytorch學習筆記-自定義卷積

未完結的草稿———&#xff01;大概是準備整合一下常見的層&#xff0c;整合完感覺就可以進行搭建了&#xff08;還沒進行到這一步所以不太確定版&#xff09; &#xff08;ps我將在完結這一篇的時候刪除上面的小字and二編一下整篇文章的結構&#xff0c;如果看到了這部分文字…

[明道云]-基礎教學2-工作表字段 vs 控件:選哪種?

本文深入解析“工作表字段”與“控件”的關系與差別,并從結構、功能、使用場景和選型建議等方面進行對比。 一、基礎概念厘清 ? 工作表字段 = 數據模型中的列 工作表字段相當于數據庫表中的列,是記錄每條業務對象(如訂單、客戶等)屬性的數據項,每個字段都有明確的名稱和…

C++-一篇文章入門coroutines協程

文章目錄前言什么是協程協程實現原理C協程的最小例子12345協程等效代碼協程傳值的例子前言 最近學習了一下C協程&#xff0c;這篇文章將介紹協程的相關概念&#xff0c;以及在C中如何使用協程。 什么是協程 C中&#xff0c;協程&#xff08;coroutines&#xff09;可以理解為…

數字經濟專業的就業全景指南

CDA數據分析師證書含金量高&#xff0c;適應了未來數字化經濟和AI發展趨勢&#xff0c;難度不高&#xff0c;行業認可度高&#xff0c;對于找工作很有幫助。一、數字經濟就業熱力圖二、核心崗位發展路徑1. 互聯網數字運營崗2. 金融科技崗崗位類型技能組合證書加持5年薪資范圍智…

PDF轉Word免費工具!批量處理PDF壓縮,合并, OCR識別, 去水印, 簽名等全功能詳解

大家好&#xff0c;歡迎來到程序視點&#xff01;我是你們的老朋友.小二&#xff01;前言PDF軟件我發的非常多&#xff0c;但今天這款工具是大家公認最值得推薦的&#xff0c;這款軟件就是PDF24PDF24幾乎包含了PDF的所有功能&#xff0c;目前是更新到了最新版本&#xff01;文末…

Flutter開發實戰之Widget體系與布局原理

第3章:Widget體系與布局原理 在前面兩章中,我們已經搭建好了Flutter開發環境,并且了解了Dart語言的基礎知識。現在是時候深入Flutter的核心——Widget體系了。如果說Dart是Flutter的語言基礎,那么Widget就是Flutter的靈魂。理解Widget體系,是掌握Flutter開發的關鍵所在。…

C++:stack與queue的使用

stack與queue的使用一.stack與queuej基礎1.stack1.1基本認識1.2示例代碼代碼功能解析2.queue2.1基礎知識操作說明2.2示例代碼代碼分析 一.stack與queuej基礎 1.stack 1.1基本認識以上圖片展示了棧&#xff08;stack&#xff09;這種數據結構的基本操作示意。棧是一種遵循后進先…

Unity 編輯器開發 之 Excel導表工具

一個簡單的Excel導表工具&#xff0c;可以用來熱更數據配置工具使用&#xff1a;&#xfeff;&#xfeff;執行菜單 SDGSupporter/Excel/1.Excel2Cs 生成c#腳本。&#xfeff;&#xfeff;等待C#類編譯完成&#xfeff;&#xfeff;執行菜單 SDGSupporter/Excel/2.Excel2Bytes …

【數據結構與算法】力扣 415. 字符串相加

題目描述 415. 字符串相加 給定兩個字符串形式的非負整數 num1 和num2 &#xff0c;計算它們的和并同樣以字符串形式返回。 你不能使用任何內建的用于處理大整數的庫&#xff08;比如 BigInteger&#xff09;&#xff0c; 也不能直接將輸入的字符串轉換為整數形式。 示例 1…

進階向:Manus AI與多語言手寫識別

Manus AI與多語言手寫識別:從零開始理解 手寫識別技術作為人工智能領域的重要應用之一,近年來在智能設備、教育、金融等行業得到了廣泛運用。根據市場調研機構IDC的數據顯示,2022年全球手寫識別市場規模已達到45億美元,預計到2025年將突破70億美元。其中,多語言手寫識別技…

Javaweb————HTTP請求頭屬性講解

??????????????????????前面我們已經說過http請求分為三部分&#xff0c;請求行&#xff0c;請求頭和請求體 請求頭包含若干個屬性&#xff1a;格式為屬性名&#xff1a;屬性值&#xff0c;這篇文章我們就來介紹一下http請求頭中一些常見屬性的含義 我們…

9.c語言常用算法

查找順序查找&#xff08;線性查找&#xff09;算法思想&#xff1a;從數組的第一個元素開始&#xff0c;逐個與目標值進行比較&#xff0c;直到找到目標值或查找完整個數組。時間復雜度&#xff1a;最好情況&#xff1a;O(1)&#xff08;目標在第一個位置&#xff09;最壞情況…

AI小智源碼分析——音頻部分(一)

一、源碼跳轉這里采用了函數重載來進行代碼復用&#xff0c;當需要對I2S接口的數據進行配置&#xff0c;比如左右音道切換&#xff0c;可以使用第二個構造函數&#xff0c;這里小智使用的是第一個構造函數&#xff0c;即只傳遞I2S相關的引腳參數&#xff08;不帶slot mask&…