零基础入门 Vue.js 开发指南
一、Vue.js 是什么?能做什么?

在开始学习 Vue.js 之前,我们先来认识一下这个“技术明星”!
🌟 什么是 Vue.js?
Vue(发音为 /vjuː/,类似 "view") 是一个用于构建用户界面的 JavaScript 框架。它是由尤雨溪开发并于 2014 年发布的开源项目。
简单理解:
👉 如果你把网页比作一座房子,那 HTML 是砖瓦,CSS 是装修风格,而 JavaScript 就是房子的功能部件(比如门铃、电灯、空调)。
而 Vue.js 就是一个让你更容易装这些功能的工具箱!
🔧 Vue.js 能做什么?
- 构建响应式的网页应用(数据变化时,页面自动更新)
- 实现单页面应用(SPA)
- 创建动态表单、交互按钮等
- 帮助你在项目中更好地组织代码结构
✅ 不需要一开始就掌握所有内容,我们从最简单的开始做起!
二、环境准备:搭建你的 Vue 开发环境

我们要写 Vue 程序,首先得搭好编程的“工地”——也就是开发环境。
Step 1: 安装 Node.js 和 npm
Node.js 是一个运行 JavaScript 的工具,npm 是它的包管理器。Vue 项目依赖它们。
✅ 下载地址:https://nodejs.org/
安装建议:
- 推荐选择 “LTS”(长期支持)版本
- 安装过程中保持默认设置即可
安装完成后,在命令行输入以下命令验证是否成功:
node -v # 显示版本号就表示安装成功了
npm -v
Step 2: 安装 Vue CLI
Vue CLI 是官方推荐的 Vue 项目脚手架工具,就像盖房用的模板,快速帮你创建完整的项目结构。
运行命令安装:
npm install -g @vue/cli
检查是否安装成功:
vue --version
Step 3: 创建第一个 Vue 项目
打开终端或命令提示符,进入你想存放项目的目录(例如:桌面),然后执行:
vue create hello-vue
接下来会让你选择预设配置,选第一个 “Default (Vue 3)” 或者你自己选择特性都可以。
等安装完毕后,进入项目目录并启动本地服务器:
cd hello-vue
npm run serve
访问 http://localhost:8080 (端口号可能会有不同),你会看到熟悉的 Vue 欢迎页面!
三、Vue 核心概念讲解(通俗易懂版)

现在我们正式进入 Vue.js 的核心世界!
我们会用一个个简单的小例子带你了解最重要的几个概念。
1️⃣ 数据绑定:让数据和页面联动
👉 场景:我要显示一段欢迎语
传统写法:
<p>欢迎来到我的网站</p>
如果想换名字,必须手动修改 HTML 内容。
但在 Vue 中,我们可以绑定一个变量:
<template>
<p>{{ message }}</p>
</template>
<script>
export default {
data() {
return {
message: '欢迎来到我的网站'
}
}
}
</script>
解释:
<template>是模板区域,放你要显示的内容。{{ message }}表示这是个变量插值,会替换为我们定义的数据。data()函数中返回一个对象,包含变量message。
🎯 效果:当你改 message 的值,页面上的文字会自动变化!
2️⃣ 方法调用:点击按钮执行函数
👉 场景:点击按钮改变欢迎语
<template>
<div>
<p>{{ message }}</p>
<button @click="changeMessage">点击我</button>
</div>
</template>
<script>
export default {
data() {
return {
message: '原句:欢迎来到我的网站'
}
},
methods: {
changeMessage() {
this.message = '新句:你好呀,Vue!'
}
}
}
</script>
📌 注意点:
@click="changeMessage"是 Vue 的事件绑定语法,等于“当点击的时候执行 changeMessage 方法”- 在
methods中定义方法名,并用this.变量名来操作数据
3️⃣ 双向数据绑定:输入框同步数据
👉 场景:输入框输入内容,实时反映到页面上
<template>
<div>
<input v-model="text">
<p>你输入的内容是:{{ text }}</p>
</div>
</template>
<script>
export default {
data() {
return {
text: ''
}
}
}
</script>
v-model是 Vue 提供的一个指令,实现了双向绑定:输入框输入的内容会自动同步给text,同时页面上也能展示出来。
4️⃣ 列表渲染:遍历数组生成多个元素
👉 场景:显示多个商品
<template>
<ul>
<li v-for="product in products" :key="product.id">
{{ product.name }}
</li>
</ul>
</template>
<script>
export default {
data() {
return {
products: [
{ id: 1, name: '苹果' },
{ id: 2, name: '香蕉' },
{ id: 3, name: '橘子' }
]
}
}
}
</script>
重点说明:
v-for="product in products":逐项循环数组中的每一项:key="product.id":给每个列表项加上唯一的 ID,性能优化的关键
5️⃣ 条件渲染:根据条件决定是否显示某些内容
👉 场景:判断用户是否登录
<template>
<div>
<p v-if="isLoggedIn">欢迎回来,用户!</p>
<p v-else>请先登录。</p>
</div>
</template>
<script>
export default {
data() {
return {
isLoggedIn: false
}
}
}
</script>
v-if表达式为 true 时才渲染该元素- 可以配合
v-else使用,进行分支控制
四、实战项目:做一个待办事项小工具(To-Do List)
前面的知识都学会了?我们一起来做个小项目试试看吧!
我们将做一个带输入框、添加任务、删除任务的 To-Do 列表。
🧩 第一步:项目准备
继续使用你刚刚创建好的项目 hello-vue,在 src/App.vue 文件中,修改内容如下:
<template>
<div id="app">
<h1>我的待办清单</h1>
<input v-model="newTask" @keyup.enter="addTask" placeholder="输入任务内容">
<ul>
<li v-for="(task, index) in tasks" :key="task.id">
{{ task.content }}
<button @click="deleteTask(index)">X</button>
</li>
</ul>
</div>
</template>
⚙️ 第二步:编写 JS 逻辑
继续在 App.vue 的 script 区域添加逻辑代码:
<script>
export default {
data() {
return {
newTask: '',
tasks: [],
idCounter: 1 // 用于分配唯一ID
}
},
methods: {
addTask() {
if (this.newTask.trim()) {
this.tasks.push({
id: this.idCounter++,
content: this.newTask
});
this.newTask = ''; // 清空输入框
}
},
deleteTask(index) {
this.tasks.splice(index, 1); // 删除对应索引的任务
}
}
}
</script>

💡 第三步:加一点样式(可选)
为了让界面更美观,可以加一段 CSS 样式:
<style>
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
max-width: 500px;
margin: 2rem auto;
}
input {
width: 100%;
padding: 10px;
margin-bottom: 1rem;
}
ul {
list-style-type: none;
padding-left: 0;
}
li {
background: #f9f9f9;
margin: 5px 0;
padding: 10px;
display: flex;
justify-content: space-between;
}
button {
background: #ff6b6b;
border: none;
color: white;
cursor: pointer;
}
</style>
🎉 运行效果
保存文件之后,如果你没关闭服务的话,浏览器应该会自动刷新。
你应该能看到一个输入框 + 按下回车就可以新增任务 + X 按钮可以删除任务的小小待办工具啦!
五、常见问题解答(FAQ)
作为一个刚接触 Vue.js 的新手,很容易遇到这些问题👇
❓ Q1:为什么数据变了,页面没有跟着变?
✅ 答案:确保你是通过 Vue 的方式来修改数据!
错误示例:
this.tasks[index] = newValue; // ❌ 这种直接修改不会触发更新
正确做法:
this.$set(this.tasks, index, newValue);
// 或者
const updatedTasks = [...this.tasks];
updatedTasks[index] = newValue;
this.tasks = updatedTasks;
❓ Q2:v-model 是怎么实现双向绑定的?
✅ 答案:其实是 Vue 在底层为你自动监听了 input 事件,并绑定了 value 属性。相当于这样写:
<input :value="text" @input="text = $event.target.value">
所以,你可以把它当作一种简化版的语法糖。
❓ Q3:组件和实例有什么区别?
- Vue 实例是你整个 App 的起点,通常一个页面只有一个根 Vue 实例
- 组件是被复用的 Vue 对象,一个项目可以由多个组件组成
比如我们上面的例子中,App.vue 就是一个组件,也是主组件。
六、学习建议:下一步该学什么?
恭喜你完成了这篇《零基础入门 Vue.js 开发指南》!你现在已经可以写出交互型的网页了!
接下来可以考虑以下几个方向继续深入学习:
🔹 1. 学习 Vue 组件化开发
- 自定义组件的封装与使用
- 组件之间如何通信(props / events / provide/inject)
🔹 2. 掌握 Vue Router
- 网页导航的基础
- 了解 SPA(单页应用)的工作原理
🔹 3. 学习状态管理 Vuex/Pinia
- 当你的程序越来越复杂,就需要用工具来统一管理数据
🔹 4. 结合真实项目实践
建议挑战:
- 博客系统
- 天气预报应用
- 留言板或聊天室
- 电商购物车系统
实践是最好的老师,别怕犯错!
✅ 总结一下今天的学习内容:
| 模块 | 学习目标 |
|---|---|
| 介绍 Vue.js | 认识什么是 Vue.js |
| 环境搭建 | 成功创建第一个项目 |
| 核心概念 | 数据绑定、事件、列表渲染、条件渲染 |
| 实战练习 | 做出了一个 ToDo List 工具 |
| 常见问题 | 解决初学者常见报错或困惑 |
| 学习路线图 | 明确后续提升路径 |
如果你坚持看完这篇文章并且动手实操,就已经迈入了前端开发的大门。希望这份教程能帮助你在 Vue 的世界里越走越远!
如需更多资料,可前往: 🔗 官方文档:https://v3.cn.vuejs.org/
祝你 coding 快乐,早日成为 Vue 大神!🔥

评论 0