零基础入门 Vue.js 开发指南
欢迎来到本篇《零基础入门 Vue.js 开发指南》!如果你是一个完全的前端开发新手,但又对现代网页开发技术感兴趣,那么这篇文章将是你开启 Vue.js 学习旅程的第一步。我们将从最基础的内容讲起,用通俗易懂的语言和实际例子带你一步步掌握 Vue 的核心知识点,并最终完成一个简单的小项目。
一、Vue.js 是什么?它能做什么?

Vue.js(简称 Vue) 是一个用于构建用户界面的 JavaScript 框架。它的目标是帮助开发者更高效地创建交互式网页应用。
你可以把 Vue 看作是一个“工具箱”,有了它,你不需要手动处理 DOM 元素的增删改查,而是通过数据驱动的方式来控制页面内容。也就是说,当你的数据变化时,页面内容也会自动更新。
✨ Vue.js 能帮你做什么?
- 快速构建响应式界面
- 更加清晰地组织代码逻辑
- 轻松实现复杂的表单交互、动态内容渲染等常见功能
- 构建单页应用程序(SPA)
简而言之:Vue 让你写更少的代码,做更多有用的事情。
二、环境准备:搭建你的第一个 Vue 开发环境

开始之前,我们需要先准备好开发环境。不用担心,这一步并不复杂!
1. 安装 Node.js 和 npm
Node.js 是一个基于 JavaScript 的运行环境,npm 是它的包管理器。我们后面会使用它们来安装 Vue 工具。
步骤:
- 打开浏览器,访问 https://nodejs.org
- 下载并安装推荐版本(LTS)
- 安装完成后,在命令行输入以下命令检查是否安装成功:
node -v # 查看 node 版本号
npm -v # 查看 npm 版本号
如果能看到类似 v14.x.x 的版本号,说明安装成功!
2. 安装 Vue CLI(命令行工具)
Vue 提供了一个叫做 Vue CLI(Vue 命令行接口) 的工具,可以帮助我们快速创建 Vue 项目。
安装命令:
npm install -g @vue/cli
等待安装完成后,同样可以通过以下命令确认是否成功:
vue --version
出现类似 3.x.x 就表示安装好了。
3. 创建你的第一个 Vue 项目
现在我们正式创建一个新的 Vue 项目。
步骤如下:
- 在命令行中运行:
vue create hello-vue
- 这里你会看到几个选项,使用上下键选择 “Default (Vue 3)” 或 “Default (Vue 2)”,然后按回车继续。
- 等待项目初始化完成后,进入项目目录:
cd hello-vue
- 启动开发服务器:
npm run serve
- 打开浏览器访问 http://localhost:8080,你应该能看到欢迎页面,恭喜你成功启动了一个 Vue 应用!
三、Vue 的核心概念讲解与示例

Vue 有很多特性,但我们先集中学习几个最核心的概念:模板语法、指令、数据绑定、组件。每一个都会配上具体的代码示例。
1. 模板语法:让 HTML 活起来
Vue 使用一种特殊的模板语法让你可以方便地在 HTML 中插入 JavaScript 数据。
示例:
<template>
<div>
<h1>欢迎你,{{ name }}</h1>
</div>
</template>
<script>
export default {
data() {
return {
name: '小明'
}
}
}
</script>
在这段代码中:
{{ name }}是 Vue 的插值表达式,表示“在这里插入变量 name 的值”。data()是用来存放数据的地方。
当你修改 name 的值时,页面上的内容会自动更新!
2. 指令:增强 HTML 的能力
Vue 提供了多种内置指令来简化操作,比如 v-if、v-for、v-bind、v-on 等等。
a) v-if:条件渲染
<template>
<div>
<p v-if="isLoggedIn">你已登录</p>
<p v-else>请登录</p>
</div>
</template>
<script>
export default {
data() {
return {
isLoggedIn: true
}
}
}
</script>
当 isLoggedIn 为 true 时显示第一条消息,否则显示第二条。
b) v-for:循环渲染列表
<template>
<ul>
<li v-for="(fruit, index) in fruits" :key="index">
{{ fruit }}
</li>
</ul>
</template>
<script>
export default {
data() {
return {
fruits: ['苹果', '香蕉', '橙子']
}
}
}
</script>
这段代码会在页面上列出水果名称,如果数组内容变了,页面也会跟着变。
c) v-bind:绑定属性
有时你想动态设置某个元素的属性,如类名、图片地址等。
<img v-bind:src="imageUrl" />
<!-- 简写 -->
<img :src="imageUrl" />
d) v-on:监听事件
点击按钮、提交表单等动作都可以用 v-on 来监听。
<button v-on:click="sayHello">点我</button>
<!-- 简写 -->
<button @click="sayHello">点我</button>
对应的脚本部分添加方法:
methods: {
sayHello() {
alert('Hello Vue!')
}
}
3. 数据双向绑定:轻松获取用户输入
使用 v-model 可以非常方便地实现数据双向绑定,例如输入框和数据同步。
示例:
<input v-model="message" placeholder="请输入内容" />
<p>你输入的是:{{ message }}</p>
export default {
data() {
return {
message: ''
}
}
}
只要你输入内容,下面的文字就会实时更新!
4. 组件化:拆分你的代码更清晰
组件就是可复用的 Vue 实例。你可以将页面的不同部分拆成不同的组件,便于管理和维护。
示例:创建一个按钮组件
新建一个文件 components/MyButton.vue
<template>
<button @click="onClick">{{ text }}</button>
</template>
<script>
export default {
props: ['text'],
methods: {
onClick() {
alert('按钮被点击了!')
}
}
}
</script>
在主页面中引用它:
<template>
<div>
<MyButton text="点击我"/>
</div>
</template>
<script>
import MyButton from './components/MyButton.vue'
export default {
components: {
MyButton
}
}
</script>
四、实战项目:制作一个待办事项清单(To-Do List)

现在我们来做一个小项目 —— 待办事项清单(To-Do List)。这个项目包括添加任务、删除任务、勾选已完成的功能。
🎯 项目功能要求:
- 输入框 + 添加按钮 → 添加新任务
- 显示所有任务列表
- 点击任务文字可以切换“已完成”状态(划掉文字)
- 点击“X”图标可以删除对应任务
第一步:定义结构和样式
打开 App.vue 文件(或创建一个 TodoList.vue 组件),开始编写代码。
<template>
<div id="app">
<h1>我的待办事项</h1>
<div class="input-group">
<input v-model="newTask" placeholder="添加新任务..." />
<button @click="addTask">添加</button>
</div>
<ul>
<li v-for="(task, index) in tasks" :key="index">
<span @click="toggleTask(index)">
{{ task.text }}
</span>
<button @click="deleteTask(index)">X</button>
</li>
</ul>
</div>
</template>
第二步:添加数据与方法
<script>
export default {
data() {
return {
newTask: '',
tasks: []
}
},
methods: {
addTask() {
if (this.newTask.trim()) {
this.tasks.push({ text: this.newTask, done: false });
this.newTask = '';
}
},
deleteTask(index) {
this.tasks.splice(index, 1);
},
toggleTask(index) {
this.tasks[index].done = !this.tasks[index].done;
}
}
}
</script>
第三步:添加样式(可选)
<style scoped>
#app {
width: 400px;
margin: auto;
}
.input-group {
display: flex;
margin-bottom: 20px;
}
input {
flex: 1;
padding: 8px;
}
button {
margin-left: 10px;
padding: 6px 12px;
}
ul {
list-style-type: none;
padding: 0;
}
li {
display: flex;
justify-content: space-between;
padding: 8px;
border-bottom: 1px solid #eee;
}
.done {
text-decoration: line-through;
color: gray;
}
</style>
同时,把 <span> 标签改为:
<span
:class="{ done: task.done }"
@click="toggleTask(index)"
>
{{ task.text }}
</span>
这样就完成了!你现在应该可以看到一个完整的 To-Do 列表。
五、新手常见问题解答(FAQ)
Q1:为什么我的数据改变了,但页面没更新?
A1:确保你在 data() 中正确声明了变量;并且没有直接通过下标修改数组元素。应使用 .push(), .splice() 等方法来保证响应式更新。
Q2:Vue 项目的入口文件在哪里?
A2:通常在 src/main.js,这是 Vue 应用的启动文件。
Q3:组件之间怎么传递数据?
A3:父传子用 props,子传父可以用 $emit 事件。
Q4:如何调试 Vue 应用?
A4:可以在 Chrome 浏览器中安装官方 Devtools 插件:Vue Devtools,它可以查看组件树、数据流动等信息。
六、下一步的学习路径建议
恭喜你完成了本次入门教程!接下来你可以尝试以下几个方向继续深入:
- Vue Router:学习如何在 Vue 中实现多页面跳转;
- Vuex / Pinia:学习状态管理库,适合大型项目的数据共享;
- Axios / Fetch API:连接后端接口,实现真正前后端交互;
- UI 框架集成:尝试使用 Element Plus、Vuetify 等 UI 库快速构建专业界面;
- Vue 3 新特性:了解 Composition API、Teleport、Fragment 等高级特性。
结语
本篇教程带大家从零开始了解了 Vue.js 的基本概念,亲手搭建了一个开发环境,并且完成了第一个完整的 Vue 项目。希望你能从中感受到 Vue 的强大与便利,也鼓励你在课后多多动手实践。
学习编程最重要的不是记住了多少知识点,而是敢于去写代码、犯错、再调试、再优化。Vue 是一个非常适合入门的框架,相信通过坚持练习,你很快就能写出漂亮的 Vue 程序!
如果有任何疑问,也欢迎留言交流,我会尽量回答你的问题。
祝你学习愉快,码运亨通!🌟

评论 0