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

Vue.js(简称 Vue) 是一个用于构建用户界面的 JavaScript 框架。你可以把它想象成一个帮你快速搭建网页“界面”的工具包。
Vue 能用来做什么?
- 制作互动性更强的网页,比如表单提交、点击按钮出现内容等。
- 构建单页应用(SPA),即整个网站在一个页面中切换,速度快、体验好。
- 适用于从小型项目到大型企业级项目的开发。
简单理解:如果你会用 HTML/CSS/JS 做网页,那么 Vue 就是帮你把网页做得更聪明、更有互动性的“智能助手”。
二、环境准备:让你的电脑准备好写 Vue 代码

我们要从最简单的开始,先在本地搭起一个可以运行 Vue 的小环境。
步骤1:安装 Node.js 和 npm
Node.js 是一个可以在你的电脑上运行 JavaScript 的工具;npm 是它的软件包管理器,有点像“插件商店”。
安装步骤:
- 打开 https://nodejs.org
- 下载 LTS 版本(长期支持版)
- 双击安装(一路下一步即可)
验证是否安装成功: 打开命令行(Windows 用 CMD,Mac 用 Terminal)输入:
node -v
如果显示版本号(如 v18.16.0)说明安装成功了!
继续输入:
npm -v
同样会看到版本号,这表示 npm 安装好了。
步骤2:创建第一个 Vue 项目(使用 Vue CLI)
Vue CLI 是官方提供的一个快速生成 Vue 项目的工具。
安装 Vue CLI:
npm install -g @vue/cli
等待安装完成,然后输入下面命令创建项目:
vue create my-first-app
选择默认配置,然后进入项目目录并启动服务器:
cd my-first-app
npm run serve
打开浏览器访问:http://localhost:8080,你就会看到 Vue 的欢迎页面啦!
🎉 成功跑起来了!接下来我们将一起动手改这个项目。
三、核心概念讲解(通俗易懂 + 实操演示)

学习 Vue 的三个核心概念:模板(HTML)、数据绑定、事件监听。
1. 模板与数据绑定:让网页动起来
Vue 中的数据会自动和网页元素绑定在一起。
示例:显示一句话
修改 src/App.vue 中的内容为:
<template>
<div id="app">
<h1>{{ message }}</h1>
</div>
</template>
<script>
export default {
data() {
return {
message: '你好,Vue!'
}
}
}
</script>
保存后刷新网页,你会看到 “你好,Vue!” 这句话。
💡解释:
{{ message }}是 Vue 的语法,表示插入变量;- 在
data()函数中定义了一个叫message的变量; - 数据一旦变化,网页上的内容也会自动更新。
2. 方法与事件:让用户能操作网页
我们现在加一个按钮,点一下就改变文字。
<template>
<div id="app">
<h1>{{ message }}</h1>
<button @click="changeMessage">点我换文字</button>
</div>
</template>
<script>
export default {
data() {
return {
message: '你好,Vue!'
}
},
methods: {
changeMessage() {
this.message = '你点了按钮!';
}
}
}
</script>
现在点按钮试试看,文字是不是变了?
💡知识点解释:
@click="函数名"是 Vue 的事件绑定方式;methods是方法存放的地方;this.message表示当前组件内部的变量。
3. 条件渲染:根据条件显示不同内容
有时候我们需要根据某个条件来决定要不要显示一段内容。
示例:判断登录状态
<template>
<div id="app">
<p v-if="isLoggedIn">欢迎回来,用户!</p>
<p v-else>请登录以继续。</p>
</div>
</template>
<script>
export default {
data() {
return {
isLoggedIn: true
}
}
}
</script>
把 isLoggedIn 改成 false,再看看效果有什么不同。
💡技巧:
v-if表示“如果是真,才显示”v-else是配套的“否则”语句- 这个功能可以用来控制导航栏、提示信息等内容
4. 列表循环:展示一堆数据
比如我们要列出几个商品名称:
<template>
<div id="app">
<ul>
<li v-for="item in items" :key="item.id">
{{ item.name }}
</li>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
items: [
{ id: 1, name: '苹果' },
{ id: 2, name: '香蕉' },
{ id: 3, name: '橘子' }
]
}
}
}
</script>
这样就能显示出三样水果了!
💡注意:
v-for表示循环;:key是必须属性,帮助 Vue 快速识别每一项;- 数据结构建议用数组对象形式存储。
四、实战项目:做一个待办事项列表应用(Todo List)
我们来做一个完整的实践项目:待办事项清单(Todo List)
功能要求:
- 显示任务列表
- 输入新任务
- 点击添加按钮新增任务
- 删除某一项任务
第一步:创建任务列表
修改 App.vue 如下:
<template>
<div id="app">
<h2>我的待办事项</h2>
<input v-model="newTask" placeholder="输入任务..." />
<button @click="addTask">添加</button>
<ul>
<li v-for="(task, index) in tasks" :key="index">
{{ task }}
<button @click="removeTask(index)">删除</button>
</li>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
newTask: '',
tasks: ['刷牙', '吃早餐']
}
},
methods: {
addTask() {
if (this.newTask.trim()) {
this.tasks.push(this.newTask);
this.newTask = '';
}
},
removeTask(index) {
this.tasks.splice(index, 1);
}
}
}
</script>
✨完成效果:
- 页面上有一个输入框和添加按钮
- 有一个任务列表
- 可以点击删除移除任务
💡这是前端开发的经典案例,掌握后你就真正入门前端动态交互编程了!
五、常见问题解答(FAQ)

Q1:为什么点击按钮没有反应?
A:检查是否绑定事件正确,例如 @click="函数名" 写对了没,函数是否在 methods 里定义。
Q2:网页不更新怎么办?
A:确保你在 data() 中返回变量,并通过 this.变量名 修改值。直接给原生 DOM 操作是不会触发 Vue 更新的。
Q3:v-if 和 v-show 有什么区别?
A:
v-if是条件判断,条件不成立时不加载元素;v-show是通过 CSS 控制隐藏(即使不显示也存在于 DOM 中); 推荐场景:频繁切换用v-show,逻辑分支复杂用v-if。
六、学习建议:下一步该学什么?
恭喜你完成了 Vue 的第一步!接下来可以考虑以下几个方向:
✅ 学习 Vue 组件系统
- 把功能拆分成多个小组件(如头部、侧边栏、内容区)
- 提高代码复用性
✅ 接触 Vue Router
- 实现单页应用(SPA)的页面跳转(主页、关于、联系人等)
✅ 学习 Vuex(状态管理)
- 当多个组件需要共享数据时使用,解决数据传递难题
✅ 学习 Vue 3
- 更快、更简洁,未来趋势
- 使用 Composition API 写法更清晰
总结
这篇文章为你从零开始介绍了 Vue.js 的基本概念、环境搭建和实战案例。
只要多练习,多动手,你也可以做出漂亮的交互式网页!
🎯 记住一句话:
“编程不是靠背公式学会的,而是做中学、错中学。”
祝你学习顺利,早日成为 Vue 大神!
如果你喜欢这篇教程,请点赞或分享给更多正在学习的朋友,让更多人轻松入门前端开发。

评论 0