零基础入门Vue.js开发指南
开篇:什么是Vue.js?我们为什么要学它?

Vue.js 是一个用于构建用户界面的 JavaScript 框架。你可以把它想象成一个帮你快速搭建网页的“魔法工具箱”。
简单来说,如果你用原生 JavaScript 写网页,可能需要写很多代码才能实现一些常见的功能(比如点击按钮弹出提示、输入内容自动更新显示等)。而 Vue.js 帮你把常用的这些操作都封装好了,你只需要学习它的规则,就能更快地完成交互式网页的开发。
Vue 特别适合用来开发单页应用(Single Page Application,简称 SPA),也就是像 Gmail 或者 Facebook 这样打开后不需要刷新页面就可以不断和用户互动的网页。
如果你是零基础的新手,不用担心!接下来我们会从最基础的环境搭建开始,一步步带你了解 Vue 的核心概念,并通过一个小项目来练习实际开发。
环境准备:搭建你的第一个Vue开发环境

在开始编写 Vue 代码之前,我们需要先准备好开发环境。我们这里使用的是 Vue 最简单的上手方式 —— 通过 CDN 引入 Vue.js。
第一步:安装一个代码编辑器
推荐使用 VS Code(Visual Studio Code)这款免费又强大的编辑器。官网下载地址:https://code.visualstudio.com/
安装好之后,你就可以打开它,开始编写你的第一个 Vue 程序啦!
第二步:创建一个HTML文件
在你的电脑上新建一个文件夹,比如叫 vue-demo,然后在该文件夹中创建一个名为 index.html 的文件。
在 VS Code 中打开这个文件,输入以下基本 HTML 结构:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>我的第一个Vue程序</title>
</head>
<body>
<h1>Hello Vue!</h1>
</body>
</html>
第三步:引入 Vue 并写第一个Vue代码
接下来我们要在这个页面中加载 Vue,并让 Vue 来管理一部分内容。
修改你的 index.html 文件如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>我的第一个Vue程序</title>
<!-- 在 head 中引入 Vue -->
<script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
</head>
<body>
<!-- Vue 要控制的区域 -->
<div id="app">
{{ message }}
</div>
<script>
// 创建 Vue 实例
new Vue({
el: '#app', // 控制页面中的哪个元素
data: {
message: '你好,Vue!'
}
})
</script>
</body>
</html>

保存文件后,在浏览器中打开它,你会看到页面显示:
你好,Vue!
🎉 恭喜你完成了你的第一个 Vue 应用!
核心概念:用通俗语言解释关键概念

为了让你更好地理解 Vue,下面是一些核心概念的解释和示例。
1. 数据绑定(Data Binding)
这是 Vue 最基础的能力之一:数据变化时,视图(网页)也会自动更新。
前面的例子中:
<div id="app">{{ message }}</div>
{{ message }} 就是 Vue 的语法,意思是:“把 message 的值显示在这里”。
当我们执行这段 JS 代码:
new Vue({
el: '#app',
data: {
message: '你好,Vue!'
}
});
Vue 会自动把这个 message 显示出来,并且如果我们更改了 message 的值,网页内容也会自动更新!
试试看:
在浏览器开发者工具中运行这行代码:
app.message = "我现在改了内容!"
你会发现网页上的文字自动变成了新内容,这就是 Vue 的魅力!
2. 指令(Directives)
指令是 Vue 提供的特殊的 HTML 属性,以 v- 开头,用来告诉 Vue 怎么做。
常见指令有:
v-if:根据条件显示或隐藏元素v-show:类似 v-if,但原理不同v-for:循环渲染列表v-on:监听事件,比如点击v-model:双向数据绑定(常用于表单输入)
举个例子:v-if 和 v-show
<div id="app">
<p v-if="isVisible">我是通过 v-if 显示的内容</p>
<p v-show="isVisible">我是通过 v-show 显示的内容</p>
<button @click="toggleVisible">切换显示</button>
</div>
<script>
new Vue({
el: '#app',
data: {
isVisible: true
},
methods: {
toggleVisible() {
this.isVisible = !this.isVisible;
}
}
});
</script>
点击按钮后,这两个段落都会隐藏或显示。区别在于:
v-if是“删掉”或重新生成元素;v-show是通过 CSS 设置是否显示。
3. 方法(Methods)
我们可以定义一些函数,被 Vue 调用,例如当用户点击按钮时触发某个动作。
上面例子中已经用了 methods,再来看一个独立的例子:
<div id="app">
<button @click="sayHello">点我打招呼</button>
</div>
<script>
new Vue({
el: '#app',
methods: {
sayHello() {
alert('你好啊!');
}
}
});
</script>
这个例子实现了点击按钮弹出对话框的功能。
4. 表单绑定(双向数据绑定 v-model)
如果你想让用户输入内容,同时又希望获取用户的输入,那就要用 v-model。
<div id="app">
<input type="text" v-model="name">
<p>你输入的名字是:{{ name }}</p>
</div>
<script>
new Vue({
el: '#app',
data: {
name: ''
}
});
</script>
当你在输入框里打字时,下面的文字也会实时更新,这就是“双向绑定”——输入影响数据,数据也影响显示。
实战项目:做一个简单的待办事项清单(To-Do List)

接下来我们来做一个实用的小项目:待办事项清单,练习使用 Vue 的各种功能。
功能目标:
- 输入内容后点击“添加”,任务加入列表
- 显示所有任务
- 可以删除某一项任务
步骤一:HTML结构
修改你的 index.html 如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>待办事项清单</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
</head>
<body>
<div id="app">
<h2>待办事项</h2>
<!-- 输入框 -->
<input type="text" v-model="newTask">
<button @click="addTask">添加</button>
<!-- 列表 -->
<ul>
<li v-for="(task, index) in tasks" :key="index">
{{ task }}
<button @click="removeTask(index)">删除</button>
</li>
</ul>
</div>
<script>
new Vue({
el: '#app',
data: {
newTask: '',
tasks: []
},
methods: {
addTask() {
if (this.newTask.trim()) {
this.tasks.push(this.newTask);
this.newTask = ''; // 清空输入框
}
},
removeTask(index) {
this.tasks.splice(index, 1); // 删除指定索引的任务
}
}
});
</script>
</body>
</html>
功能说明:
- 使用
v-model绑定输入框内容到newTask - 用
v-for循环遍历tasks数组并显示每个任务 - 点击“添加”调用
addTask方法,将任务加进数组 - 每项任务都有“删除”按钮,点击调用
removeTask删除该项
👉 动手试一试!亲自运行一次这个页面,亲手测试添加和删除功能。
常见问题:新手容易遇到的问题及解决方案
以下是几个初学者经常提问的问题,来看看怎么解决它们吧:
❓Q1:为什么我的Vue代码没生效?
✅ 可能原因:
- 没有正确引入 Vue 的 CDN 地址
- Vue 实例没有正确挂载(el 错误)
- 浏览器缓存导致旧代码还在运行
📝 解决方法:
- 确保你在
<head>中正确引入了 Vue - 查看浏览器控制台是否有报错信息
- 清除浏览器缓存,或用隐身模式打开页面重试
❓Q2:为什么点击按钮没反应?
✅ 可能原因:
- 方法名拼写错误(比如
@click="showMsg"但你写了showMssg) - 方法没写在
methods对象中
📝 解决方法:
- 检查拼写一致性
- 打开浏览器控制台查看是否有“方法未定义”的错误
❓Q3:Vue 数据变了,页面没更新?
✅ 可能原因:
- 直接通过数组索引来修改数组元素(Vue 无法检测这类改动)
📝 解决方法:
- 使用 Vue 提供的数组变异方法,比如
.push()、.splice()、.pop()等 - 不要这样写:
this.tasks[0] = '新的任务',应该用:this.tasks.splice(0, 1, '新的任务')
❓Q4:可以不用 CDN 吗?可以用 Vue 3 吗?
✅ 当然可以!不过对于初学者来说,建议先学会用 CDN 快速入门。后面进阶可以学习用 Vue CLI 或 Vite 构建复杂项目。
学习建议:下一步的学习路径
掌握了今天的内容之后,你就已经是一个会写 Vue 应用的初级开发者啦!接下来你可以继续学习以下几个方向:
✅ 推荐学习顺序:
Vue 官方文档(中文版)
https://v3.cn.vuejs.org/guide/introduction.html学习 Vue Router(路由管理)
- 用于网页之间的跳转(如主页 → 关于我们页面)
学习 Vuex / Pinia(状态管理)
- 用于多个组件之间共享数据
学习 Vue CLI / Vite(脚手架工具)
- 创建大型项目必备工具,支持模块化开发、热加载等功能
实践更多项目
- 做一个完整的记账 App
- 做一个天气查询系统
- 自己做个博客网站等等
📌 小贴士:
- 多动手,不要只看不练
- 遇到问题善用浏览器控制台排查
- 加入技术社区(如掘金、知乎、CSDN、Vue论坛)
- 订阅前端微信公众号、B站UP主教程视频
结语:坚持下去,你也能成为Vue高手!

Vue 是目前最流行的前端框架之一,而且上手门槛相对较低。作为零基础的你,已经迈出了第一步。接下来只要每天多写一点代码,多思考一个为什么,你很快就能写出自己的完整项目!
记住一句话:
“代码不是写出来的,是调试出来的。”
保持耐心,不断尝试,成功一定属于努力的你!
🎯 祝你编程之路越走越顺!如果这篇文章对你有帮助,请多多分享给其他正在学编程的朋友哦!

评论 0