零基础入门Vue.js开发指南
开篇:什么是 Vue.js?它是用来做什么的?

Vue.js 是一个用于构建用户界面的 前端 JavaScript 框架。它可以帮助你更轻松地开发交互式的网页和 Web 应用。简单来说,如果你想要做一个网页,能自动响应用户的操作(比如点击按钮、输入文字等),Vue 就是一个非常强大又容易上手的工具。
你可以用 Vue 来做:
- 个人博客
- 后台管理系统
- 电商网站
- 手机 App 的 Web 版本(配合其他技术)
Vue 最大的特点就是“渐进式框架”——意思是你可以在项目中逐步引入 Vue,而不需要一开始就全盘使用它。这对初学者来说非常友好!
环境准备:从零搭建你的第一个 Vue 开发环境

步骤一:安装 Node.js 和 npm
- 访问官网:https://nodejs.org/
- 下载长期支持版本(LTS)并安装。
- 安装完成后,在命令行中输入以下命令验证是否成功:
node -v
npm -v
你应该能看到类似这样的输出:
v18.16.0
9.5.1
这就表示安装成功了。
步骤二:安装 Vue CLI(命令行工具)
Vue 提供了一个非常好用的脚手架工具叫 Vue CLI,可以帮助你快速创建 Vue 项目。
在命令行中运行下面这条命令来安装 Vue CLI:
npm install -g @vue/cli
安装完成后,可以运行:
vue --version
如果输出如下内容,说明安装成功:
@vue/cli 5.0.8
步骤三:创建第一个 Vue 项目
接下来我们使用 Vue CLI 创建一个项目:
vue create my-first-vue-app
然后选择默认配置(按上下键选择,默认是 Default (Vue 3) 或 Vue 2,根据你偏好选择即可),回车确认。
进入项目文件夹,并启动开发服务器:
cd my-first-vue-app
npm run serve
等待几秒钟后,你会看到类似以下信息:
App running at:
- Local: http://localhost:8080/
打开浏览器访问这个地址,就会看到 Vue 的欢迎页面!
核心概念:Vue 中的关键概念通俗讲解
1. 数据驱动视图
这是 Vue 的核心思想:数据变化,页面跟着变化。
我们来看一个例子:
<!-- index.html -->
<div id="app">
<p>{{ message }}</p>
</div>
<script>
const app = new Vue({
el: '#app',
data: {
message: '你好,Vue!'
}
});
</script>
这段代码的作用是:把变量 message 显示在页面上。如果你用控制台修改 app.message = '新内容',页面也会自动更新!
2. 数据绑定:指令 v-model
有时候我们想让用户输入内容,并立刻反映到数据中。这个时候就用 v-model:
<div id="app">
<input v-model="name">
<p>你输入的名字是:{{ name }}</p>
</div>
<script>
const app = new Vue({
el: '#app',
data: {
name: ''
}
});
</script>
效果就是:你在输入框打字,下方会实时显示你输入的内容。
3. 事件绑定:v-on 指令
点击按钮执行某些操作,就要用到 v-on:
<div id="app">
<button v-on:click="sayHello">点我</button>
<p>{{ message }}</p>
</div>
<script>
const app = new Vue({
el: '#app',
data: {
message: ''
},
methods: {
sayHello() {
this.message = '你好呀!';
}
}
});
</script>
当你点击按钮,就会触发 sayHello() 方法,从而改变 message 的值,页面自动更新。
4. 组件化开发:复用你的代码块
组件是 Vue 的重要功能之一。可以把常用的 UI 块封装成一个组件,重复使用。
例如定义一个按钮组件:
// 在 main.js 中添加
Vue.component('my-button', {
template: `<button @click="handleClick">点击我</button>`,
methods: {
handleClick() {
alert('按钮被点击了');
}
}
});
然后在任何地方都可以这样使用它:
<my-button></my-button>
这种写法让你的代码更有组织、更易于维护。
实战项目:动手做一个 TodoList 待办事项列表
现在我们用学到的知识做一个简单的 TodoList 待办清单。
第一步:搭建结构
修改你的 App.vue 文件,先写出基本 HTML 结构:
<template>
<div id="app">
<h1>我的待办事项</h1>
<!-- 输入框与按钮 -->
<input v-model="newItem" placeholder="输入任务名称">
<button @click="addTodo">添加</button>
<!-- 渲染列表 -->
<ul>
<li v-for="(item, index) in todos" :key="index">
{{ item }}
<button @click="removeItem(index)">删除</button>
</li>
</ul>
</div>
</template>

第二步:编写逻辑部分
继续在 App.vue 中补充 JS 逻辑部分:
<script>
export default {
data() {
return {
newItem: '',
todos: []
};
},
methods: {
addTodo() {
if (this.newItem.trim()) {
this.todos.push(this.newItem);
this.newItem = '';
}
},
removeItem(index) {
this.todos.splice(index, 1);
}
}
};
</script>
效果展示:
运行你的 Vue 项目(npm run serve),访问 http://localhost:8080,你现在应该可以看到这样一个待办事项应用:
- 输入任务名 ➤ 点击添加 ➤ 列表会自动更新
- 每个任务后面有一个删除按钮 ➤ 点击可删除该任务
这就是一个完整的小型项目!
新手常见问题解答
问题一:为什么数据变了页面没更新?
答:确保你是通过 data 中声明的数据去修改的。不要手动直接赋值或新增未声明的属性。例如:
❌ 错误方式:
this.myData = 'new value'; // 如果 myData 没在 data 中定义,不会生效
✅ 正确做法:
data() {
return {
myData: ''
}
}
问题二:方法里面用了 this,但是报错?
答:检查是否用到了箭头函数导致 this 指向错误。在 Vue 的 methods 中尽量避免使用箭头函数。
❌ 不推荐:
methods: {
sayHi: () => {
console.log(this.message); // 这里的 this 可能不是 Vue 实例
}
}
✅ 推荐:
methods: {
sayHi() {
console.log(this.message); // 正常访问
}
}
问题三:组件怎么传数据?
答:使用 props 属性实现父子组件通信。父组件传递数据给子组件:
父组件中:
<MyComponent :title="pageTitle" />
子组件接收:
props: ['title']
学习建议:下一步学什么?
恭喜你已经完成了 Vue 的第一课!
接下来你可以继续深入学习这些内容:
| 学习方向 | 内容简介 |
|---|---|
| Vue Router | 实现页面跳转、导航栏等功能 |
| Vuex | 管理全局状态(共享数据) |
| Axios | 请求服务器 API 获取数据 |
| Vue 组件高级用法 | 插槽、自定义指令、动态组件等 |
| Vue 3 Composition API | Vue 3 的新写法,更加灵活 |
| 项目实战练习 | 做个完整的管理后台、博客、购物车系统等 |
总结

- Vue.js 是一个非常适合新手入门的前端框架,简单易学,生态完善。
- 跟着本文的步骤一步步搭建环境并尝试动手写项目,是最好的学习方式。
- 每个概念都配上代码示例,结合实践理解更快。
- 遇到问题别害怕,多查文档、看官方教程,或者参考社区文章。
现在,不妨把你刚刚写的 TodoList 分享给朋友看看,开始你的前端开发之旅吧!🚀
如果你喜欢这种风格的教学,欢迎持续关注后续课程《Vue 进阶实战》《打造企业级管理系统》系列哦~

评论 0