Vue 3零基礎入門:從環境搭建到第一個組件

Vue 3零基礎入門:從環境搭建到第一個組件

一、Vue 3簡介

Vue.js是一款漸進式JavaScript框架,用于構建用戶界面。Vue 3是Vue的最新主要版本,于2020年9月發布,帶來了許多改進和新特性:

  • 更快的渲染速度
  • 更小的包體積
  • Composition API(組合式API)
  • 更好的TypeScript支持
  • 新的響應式系統

二、環境搭建

1. 安裝Node.js

Vue開發需要Node.js環境,請先安裝Node.js(建議LTS版本):

  • 訪問 Node.js官網 下載安裝包
  • 安裝完成后,在終端運行以下命令檢查是否安裝成功:
node -v
npm -v

2. 安裝Vue CLI

Vue CLI是Vue官方提供的腳手架工具,用于快速創建Vue項目:

npm install -g @vue/cli

安裝完成后檢查版本:

vue --version

3. 創建第一個Vue項目

使用Vue CLI創建新項目:

vue create my-first-vue-app

選擇Vue 3預設:

  • 使用方向鍵選擇"Manually select features"
  • 確保選中"Choose Vue version"和"Babel"
  • 選擇Vue 3.x
  • 其他選項按需選擇或保持默認

進入項目目錄并啟動開發服務器:

cd my-first-vue-app
npm run serve

訪問 http://localhost:8080 查看運行中的Vue應用。

三、項目結構解析

新創建的Vue項目主要目錄結構如下:

my-first-vue-app/
├── node_modules/    # 項目依賴
├── public/          # 靜態資源
│   ├── index.html   # 主HTML文件
│   └── favicon.ico  # 網站圖標
├── src/             # 源代碼目錄
│   ├── assets/      # 靜態資源(圖片、樣式等)
│   ├── components/  # Vue組件
│   ├── App.vue      # 根組件
│   └── main.js      # 應用入口文件
├── package.json     # 項目配置和依賴
└── README.md        # 項目說明

四、創建第一個組件

1. 組件基礎概念

在Vue中,組件是可復用的Vue實例,具有自己的模板、邏輯和樣式。組件可以嵌套使用,構成整個應用。

2. 創建HelloWorld組件

src/components目錄下創建HelloWorld.vue文件:

<template><div class="hello"><h1>{{ greeting }}</h1><button @click="changeGreeting">改變問候語</button></div>
</template><script>
export default {name: 'HelloWorld',data() {return {greeting: '你好,Vue 3!'}},methods: {changeGreeting() {this.greeting = '歡迎來到Vue 3世界!'}}
}
</script><style scoped>
.hello {color: #42b983;text-align: center;margin-top: 20px;
}
button {padding: 8px 16px;background-color: #42b983;color: white;border: none;border-radius: 4px;cursor: pointer;
}
</style>

3. 在App.vue中使用組件

修改src/App.vue文件:

<template><div id="app"><img alt="Vue logo" src="./assets/logo.png"><HelloWorld /></div>
</template><script>
import HelloWorld from './components/HelloWorld.vue'export default {name: 'App',components: {HelloWorld}
}
</script><style>
#app {font-family: Avenir, Helvetica, Arial, sans-serif;text-align: center;color: #2c3e50;margin-top: 60px;
}
</style>

4. 運行效果

保存文件后,開發服務器會自動重新加載,你將看到:

  • Vue logo圖片
  • "你好,Vue 3!"的標題
  • 一個按鈕,點擊后會改變問候語

五、Vue 3核心概念

1. 模板語法

Vue使用基于HTML的模板語法,允許開發者聲明式地將數據綁定到DOM:

<template><div><!-- 文本插值 --><p>{{ message }}</p><!-- 屬性綁定 --><a :href="url">鏈接</a><!-- 事件綁定 --><button @click="handleClick">點擊</button><!-- 雙向綁定 --><input v-model="inputText"></div>
</template>

2. 響應式數據

Vue 3使用Proxy實現響應式系統:

<script>
export default {data() {return {count: 0}},methods: {increment() {this.count++}}
}
</script>

3. 生命周期鉤子

Vue組件有一系列生命周期鉤子函數:

<script>
export default {beforeCreate() {console.log('組件實例剛被創建')},created() {console.log('組件實例創建完成')},mounted() {console.log('組件被掛載到DOM')},updated() {console.log('組件更新')},unmounted() {console.log('組件卸載')}
}
</script>

六、Composition API簡介

Vue 3引入了Composition API,這是一種新的編寫組件邏輯的方式:

<template><div><p>計數: {{ count }}</p><button @click="increment">增加</button></div>
</template><script>
import { ref } from 'vue'export default {setup() {const count = ref(0)function increment() {count.value++}return {count,increment}}
}
</script>

七、下一步學習建議

  1. 深入學習Vue組件通信(props/emit)
  2. 了解Vue路由(vue-router)
  3. 學習狀態管理(Vuex或Pinia)
  4. 探索更多Vue 3特性如Teleport、Suspense等
  5. 實踐構建一個完整的Vue應用

通過這篇入門指南,你已經掌握了Vue 3的基本使用方法。繼續實踐和探索,Vue的世界還有更多精彩等待你去發現!

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

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

相關文章

為了結合后端而學習前端的學習日志(1)——純CSS靜態卡片案例

前端設計專欄 使用純CSS創建簡潔名片卡片的學習實踐 在這篇技術博客中&#xff0c;我將分享我的前端學習過程&#xff0c;如何使用純HTML和CSS創建一個簡潔美觀的名片式卡片&#xff0c;就像我博客首頁展示的那樣。這種卡片設計非常適合作為個人簡介、產品展示或團隊成員介紹…

k8s監控方案實踐(一):部署Prometheus與Node Exporter

k8s監控方案實踐&#xff08;一&#xff09;&#xff1a;部署Prometheus與Node Exporter 文章目錄 k8s監控方案實踐&#xff08;一&#xff09;&#xff1a;部署Prometheus與Node Exporter一、Prometheus簡介二、PrometheusNode Exporter實戰部署1. 創建Namespace&#xff08;p…

谷歌最新推出的Gemini 2.5 Flash人工智能模型因其安全性能相較前代產品出現下滑

每周跟蹤AI熱點新聞動向和震撼發展 想要探索生成式人工智能的前沿進展嗎&#xff1f;訂閱我們的簡報&#xff0c;深入解析最新的技術突破、實際應用案例和未來的趨勢。與全球數同行一同&#xff0c;從行業內部的深度分析和實用指南中受益。不要錯過這個機會&#xff0c;成為AI領…

【Python】PDF文件處理(PyPDF2、borb、fitz)

Python提供了多種方法和庫用于處理PDF文件&#xff0c;這些工具可以幫助開發者實現諸如讀取、寫入、合并、拆分以及壓縮等功能。以下是幾個常用的Python PDF操作庫及其基本用法&#xff08;PyPDF2、borb、fitz&#xff09;。 1. PyPDF2 PyPDF2 是一個功能強大的庫&#xff0…

websocketd 10秒教程

websocketd 參考地址&#xff1a;joewalnes/websocketd 官網地址&#xff1a;websocketd websocketd簡述 websocketd是一個簡單的websocket服務Server&#xff0c;運行在命令行方式下&#xff0c;可以通過websocketd和已經有程序進行交互。 現在&#xff0c;可以非常容易地構…

Spring Boot 基于 Cookie 實現單點登錄:原理、實踐與優化詳解

前言 在多系統交互的應用場景中&#xff0c;單點登錄&#xff08;SSO&#xff09;能夠顯著提升用戶體驗&#xff0c;減少重復登錄的繁瑣操作。基于 Cookie 的單點登錄方案&#xff0c;憑借其簡單直觀、瀏覽器原生支持的特性&#xff0c;成為快速實現單點登錄的有效方式。本文將…

ModBus協議詳解:從基礎概念到C#實現RTU與TCP通訊

ModBus協議是莫迪康公司為了讓PLC之間進行數據通信而設計出來的協議。它是一種總線協議&#xff0c;是一種一對多&#xff0c;上下級的關系。 它的應用廣泛&#xff0c;具有免費開源&#xff0c;操作簡單的有點&#xff0c;并且可以兼容串口和網絡通訊&#xff0c;兼容也不錯。…

PHP數組排序深度解析:sort()、rsort()、asort()、arsort()、ksort()、krsort() 的適用場景與性能對比

在PHP開發中&#xff0c;數組排序是日常操作的核心技能之一。無論是處理用戶數據、產品列表&#xff0c;還是分析日志信息&#xff0c;合理的排序方法能顯著提升代碼的效率和可維護性。PHP提供了多種數組排序函數&#xff08;如 sort()、rsort()、asort() 等&#xff09;&#…

RabittMQ-高級特性2-應用問題

文章目錄 前言延遲隊列介紹ttl死信隊列存在問題延遲隊列插件安裝延遲插件使用事務消息分發概念介紹限流非公平分發&#xff08;負載均衡&#xff09; 限流負載均衡RabbitMQ應用問題-冪等性保障順序性保障介紹1順序性保障介紹2消息積壓總結 前言 延遲隊列介紹 延遲隊列(Delaye…

HOW - 在 Mac 上的 Chrome 瀏覽器中調試 Windows 場景下的前端頁面

文章目錄 為什么需要模擬 Windows 環境&#xff1f;一、修改 User-Agent 模擬 Windows 瀏覽器方法 1&#xff1a;通過 Chrome 開發者工具修改 UA方法 2&#xff1a;使用瀏覽器插件 二、模擬 Windows 的字體和滾動條樣式1. 模擬 Windows 字體2. 強制顯示滾動條&#xff08;模擬 …

如何刪除豆包本地大模型

由于無法選擇大模型的安裝位置&#xff0c;因此會占用C盤大量空間&#xff0c;然后又找到不卸載的地方&#xff0c;經排查豆包大模型安裝位為&#xff1a;C:\Users\[當前電腦用戶]\AppData\Local\Doubao\User Data&#xff0c;只能進行手動卸載。

Linux C語言線程編程入門筆記

目錄 開發環境準備 線程基礎概念 進程與線程的關系 線程生命周期 創建線程 等待線程結束 線程函數和參數 互斥鎖與共享資源保護 總結 開發環境準備 操作系統&#xff1a;以 Linux 為例&#xff08;Ubuntu/CentOS 等主流發行版&#xff09;。請確保系統已安裝 GNU C 編…

levelDB的數據查看(非常詳細)

起因:.net大作業天氣預報程序(WPF)答辯時&#xff0c;老師問怎么維持數據持久性的&#xff0c;啟動時加載的數據存在哪里&#xff0c;我明白老師想考的應該是json文件的解析&#xff08;正反&#xff09;&#xff0c;半天沒答上來存那個文件了&#xff08;老師默認這個文件是自…

數據分析怎么做?高效的數據分析方法有哪些?

目錄 一、數據分析的對象和目的 &#xff08;一&#xff09;數據分析的常見對象 &#xff08;二&#xff09;數據分析的目的 二、數據分析怎么做&#xff1f; &#xff08;一&#xff09;明確問題 &#xff08;二&#xff09;收集數據 &#xff08;三&#xff09;清洗和…

手寫 Vue 源碼 === 完善依賴追蹤與觸發更新

目錄 依賴收集的完整實現 trackEffects:建立雙向依賴關系 觸發更新的完整實現 完整的響應式流程 為什么使用 Map 而不是 Set? 總結 在上一篇文章中,我們介紹了 Vue3 響應式系統的基本原理和 activeEffect 的作用。現在,我們將深入探討完善后的依賴追蹤和觸發更新機制…

從代碼學習深度學習 - 區域卷積神經網絡(R-CNN)系列 PyTorch版

文章目錄 前言R-CNNFast R-CNN興趣區域匯聚層 (RoI Pooling)代碼示例:興趣區域匯聚層 (RoI Pooling) 的計算方法Faster R-CNNMask R-CNN雙線性插值 (Bilinear Interpolation) 與興趣區域對齊 (RoI Align)興趣區域對齊層的輸入輸出全卷積網絡 (FCN) 的作用掩碼輸出形狀總結前言…

18個國內wordpress主題推薦

工廠wordpress中文主題 紅藍色搭配的工廠wordpress中文主題&#xff0c;適合從事生產、加工的工廠官方網站使用。 https://www.jianzhanpress.com/?p8533 Pithy設計師wordpress網站模板 精練簡潔的wordpress模板&#xff0c;設計師或設計工作室展示型網站模板。 https://w…

低成本自動化改造技術錨點深度解析

執行摘要 本文旨在深入剖析四項關鍵的低成本自動化技術&#xff0c;這些技術為工業轉型提供了顯著的運營和經濟效益。文章將提供實用且深入的指導&#xff0c;涵蓋老舊設備聯網、AGV車隊優化、空壓機系統智能能耗管控以及此類項目投資回報率&#xff08;ROI&#xff09;的嚴謹…

Oracle — 數據管理

介紹 Oracle數據庫作為全球領先的關系型數據庫管理系統&#xff0c;其數據管理能力以高效性、安全性和智能化為核心。系統通過多維度技術實現海量數據的存儲與實時處理&#xff0c;支持高并發事務操作與復雜分析查詢&#xff0c;滿足企業關鍵業務需求。在安全領域&#xff0c;O…

【PhysUnits】3.3 SI 基礎量綱單位(units/base.rs)

一、源碼 這段代碼定義了一系列基礎物理量綱的類型別名&#xff0c;并使用標記 trait Canonical 來表示它們是國際單位制&#xff08;SI&#xff09;中的基本單位。 use crate::Dimension; use typenum::{P1, Z0};/// 標記特質&#xff0c;表示基礎量綱單位 pub trait Canoni…