零基础入门 Vue.js 开发指南
一、开篇:Vue.js 是什么?我们可以用它做什么?

大家好!如果你是第一次接触前端开发,或者听说过“Vue”但不知道它是干什么的,那么恭喜你,你来对地方了!
Vue.js(简称 Vue) 是一个非常流行的 JavaScript 框架。你可以把它想象成一个强大的工具箱,专门用来帮助我们快速搭建网页应用(尤其是交互性强的网站)。
比如:
- 豆瓣
- 小米官网
- 网易云音乐 这些网站都用了类似 Vue 这样的框架来构建页面。
我们为什么学 Vue?
- 简单易学:相比其他大型框架,如 Angular 或 React,Vue 的语法和概念更直观。
- 轻量快速:Vue 代码体积小,加载快,适合大多数中小型项目。
- 生态完善:有丰富的插件和工具支持,可以满足各种需求。
- 就业热门技能:掌握 Vue,能让你轻松找到 Web 前端开发相关的工作。
二、环境准备:一步步搭建你的 Vue 开发环境

在正式写代码之前,我们先准备好编程环境。别担心,只要跟着我一步步操作,几分钟内就能完成环境搭建!
步骤一:安装 Node.js 和 npm
Node.js 是一个可以让 JavaScript 在电脑上运行的运行环境,npm 则是一个包管理器,相当于 App Store,帮我们安装 Vue 和其他工具。
安装方法:
- 访问 https://nodejs.org
- 下载 LTS 版本(稳定版)
- 双击安装程序 -> 默认下一步即可
安装完成后,在命令行中输入:
node -v
npm -v
如果输出版本号(例如 v16.x.x),说明已经安装成功 ✅
步骤二:安装 Vue CLI 工具
Vue CLI 是 Vue 提供的官方脚手架工具,能让我们快速创建一个 Vue 项目。
打开终端或命令提示符,输入:
npm install -g @vue/cli
等待安装完成后,检查是否安装成功:
vue --version
出现版本号就代表安装成功 🎯
步骤三:创建你的第一个 Vue 项目
现在我们要创建一个最简单的 Vue 项目。
在命令行中依次执行以下命令:
vue create hello-vue
cd hello-vue
npm run serve
等一会儿,你会看到如下信息:
App running at:
- Local: http://localhost:8080/
打开浏览器,访问这个链接,看到欢迎界面,恭喜你!你已经拥有一个 Vue 项目啦!
三、核心概念讲解:5分钟看懂 Vue 最重要的三个概念
学习任何框架,都要先了解它的核心思想。Vue 主要有三大核心概念:模板、数据、组件。
我们逐个来看,都是通俗易懂的语言!
1. 数据驱动:Vue 是怎么工作的?
传统的网页开发是你手动修改 HTML 来更新内容;但在 Vue 中,你只需要改数据,页面就会自动更新,超级方便!
举个例子:
<div id="app">{{ message }}</div>
<script>
const app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!'
}
})
</script>
👉 解释一下:
{{ message }}是 Vue 的模板语法,表示显示变量message的值。data是一个对象,里面放的是页面要用到的数据。- 当
message改变时,页面上的文字会自动刷新!
2. 模板指令:Vue 怎么控制页面展示?
除了显示文本,Vue 还提供了一些特殊的指令来操作 DOM 元素。常见的有:
| 指令 | 含义 |
|---|---|
{{数据绑定}} |
显示数据 |
v-if |
控制元素是否显示 |
v-show |
控制元素是否隐藏(和 v-if 不同) |
v-for |
循环生成多个元素 |
示例:使用 v-if 显示/隐藏内容
<div id="app">
<p v-if="showText">这段文字会被根据变量动态显示</p>
<button @click="toggleText">切换显示</button>
</div>
<script>
new Vue({
el: "#app",
data: {
showText: true
},
methods: {
toggleText() {
this.showText = !this.showText;
}
}
})
</script>
点击按钮,你会看到那段文字在显示和隐藏之间切换。
3. 组件化:把页面拆成一块块“积木”
网页就像搭积木一样,每个部分都可以独立封装成一个组件。这样做的好处是:
- 易于维护
- 便于复用
- 逻辑清晰
创建一个自定义组件的例子:
// 引入 Vue
const Vue = require('vue');
// 定义一个名为 MyButton 的组件
Vue.component('my-button', {
template: `<button @click="count++">点我 {{ count }} 次</button>`,
data() {
return {
count: 0
}
}
})
new Vue({
el: "#app"
})
然后在 HTML 中使用它:
<div id="app">
<my-button></my-button>
<my-button></my-button>
</div>
你将会看到两个按钮,各自独立计数!这就是组件的威力 😎
四、实战项目:从零开始做一个 Todo 待办事项列表应用
学完基本概念后,咱们一起动手做个项目吧!
目标:做一个带添加、删除功能的待办事项列表。
第一步:创建项目结构
如果你前面创建过项目,可以继续在这个项目里操作。否则可以用 Vue CLI 重新创建一个新的项目:
vue create todo-app
进入目录并启动:
cd todo-app
npm run serve
确保能看到默认界面。
第二步:编写主页面结构 App.vue
找到 src/App.vue 文件,替换为下面的内容:
<template>
<div id="app">
<h1>我的待办事项列表</h1>
<input v-model="newTodo" placeholder="请输入新任务" />
<button @click="addTodo">添加</button>
<ul>
<li v-for="(todo, index) in todos" :key="index">
{{ todo }}
<button @click="deleteTodo(index)">删除</button>
</li>
</ul>
</div>
</template>
<script>
export default {
name: 'App',
data() {
return {
newTodo: '',
todos: []
}
},
methods: {
addTodo() {
if (this.newTodo.trim()) {
this.todos.push(this.newTodo);
this.newTodo = '';
}
},
deleteTodo(index) {
this.todos.splice(index, 1);
}
}
}
</script>
保存文件,刷新浏览器,你应该会看到一个简单的 Todo 列表!
功能解释:
- v-model:双向绑定 input 输入框和变量
newTodo - v-for:循环显示所有的待办项
- @click:点击按钮时触发对应的方法
- 数组操作:使用
.push()添加,.splice()删除数据
第三步:美化样式(选做)
可以在 <style> 标签中加一些 CSS,让它更好看:
<style>
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
max-width: 500px;
margin: auto;
}
input {
width: 70%;
padding: 5px;
}
button {
margin-left: 5px;
}
ul {
list-style: none;
padding-left: 0;
}
li {
padding: 5px;
background-color: #f0f0f0;
margin-top: 5px;
}
</style>
保存后刷新页面,效果会变得清爽很多 💪
五、常见问题:新手最常遇到的 5 个问题及解决办法
❓Q1:为什么写了 {{ message }} 却不显示?
✅A:请确认:
- 页面是否有挂载 Vue 实例 (
el) - 是否正确拼接字符串或表达式
- 是否被注释掉了,或者放在 script 标签之外
❓Q2:v-if 和 v-show 有什么区别?
✅A:简单来说:
v-if:条件不成立时,DOM 元素不会渲染出来(性能差一点,用于不常变化的元素)v-show:只是通过 display:none 控制显隐(适合频繁切换的元素)
❓Q3:如何监听 input 的输入变化?
✅A:有两种方法:
- 使用
v-model指令(推荐) - 使用
@input事件 + 手动赋值
示例:
<input @input="handleInput" />
<script>
methods: {
handleInput(e) {
this.text = e.target.value;
}
}
</script>
❓Q4:为什么点击按钮函数没反应?
✅A:可能原因:
- 方法名拼错(注意大小写)
- 没有用
this来调用 data 中的变量 - 方法没有写在
methods中
❓Q5:Vue 初始化时报错 “Cannot find module ‘vue’”
✅A:通常是 node_modules 没有正确安装,请执行:
npm install vue
六、学习建议:接下来你可以学习哪些内容?
学到这里,你已经掌握了 Vue 的基本功。接下来可以根据自己的兴趣选择进阶方向:
✅ 建议 1:学习 Vue Router(路由)
- 目的:实现多页面跳转
- 地址栏变化不影响页面刷新(单页应用的关键)
- 推荐项目:博客系统、仪表盘导航等
✅ 建议 2:学习 Vuex(状态管理)
- 用于处理复杂的共享数据,如用户登录状态、购物车商品等
- 避免父子组件之间传参复杂的问题
✅ 建议 3:尝试组合 Vue + API 接口
- 把 Vue 与后端服务器连接起来
- 如请求天气 API、获取用户数据等
✅ 建议 4:使用 UI 组件库提升效率
- 推荐使用 Element Plus(适用于 Vue 3)、Vuetify、Ant Design Vue 等
- 能快速搭建美观专业的界面
七、总结:你现在就是 Vue 入门选手啦!
到这里,恭喜你完成了 Vue 的入门教程!虽然只是初步掌握,但这已经为你打开了通往更高级开发的大门。
记住一句话:
编程不是死记硬背,而是不断实践 + 多思考。
接下来:
- 多尝试模仿别人写的项目
- 给自己定一个小目标去实现(比如做个日历、计算器)
- 多看官方文档,查漏补缺
如果你觉得这篇文章对你有帮助,欢迎分享给更多想学编程的朋友。愿你在未来成为一名优秀的前端开发者!
💡 学习路上不怕慢,怕停。加油!

评论 0