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.mzph.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…