跳转至内容
0
  • 主页
  • 版块
  • 最新
  • 标签
  • 热门
  • 主页
  • 版块
  • 最新
  • 标签
  • 热门
折叠
品牌标识
让每一次思考都有价值
  1. 让每一次思考都有价值
  2. 版块
  3. 记录与分享
  4. 从0开始认识Vue

从0开始认识Vue

已定时 已固定 已锁定 已移动 记录与分享
vue
2 评论 2 发布者 6 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
评论
  • 在新文章中评论
登录后评论
此文章已被删除。只有拥有文章管理权限的用户可以查看。
  • 水文大师水 离线
    水文大师水 离线
    水文大师
    编写于 最后由 Jinhao 编辑
    #1
    目录
    一、Vue到底是什么?
    二、为什么推荐学Vue?新手友好是关键
    三、动手准备:5分钟搭建Vue开发环境
    方案1:直接在HTML中引入Vue(零配置,适合新手练手)
    方案2:用Vite搭建完整Vue项目(适合实际开发)
    四、Vue核心基础:3个必须掌握的概念
    1. 插值语法:让数据显示在视图上
    2. 指令:给HTML添加“特殊能力”
    3. 双向绑定:数据和视图“同步更新”
    五、入门后的下一步:该学什么?
    总结

    如果你是刚接触前端开发的新手,或者想尝试一款“容易上手又能支撑复杂项目”的框架,那么Vue.js(简称Vue)绝对值得了解。作为目前主流的前端框架之一,Vue以“渐进式”“易用性”为核心优势,让开发者能从简单功能入手,逐步构建出大型应用。本文将从“Vue是什么”“为什么学Vue”“怎么快速上手”三个核心问题出发,带你零基础走进Vue的世界。

    一、Vue到底是什么?

    首先要明确一个基础认知:Vue不是“编程语言”,而是一个基于JavaScript的前端框架——它的作用是帮助开发者更高效地构建网页的“视图层”(也就是用户能看到、能交互的部分),比如电商网站的商品列表、后台管理系统的表单、手机H5的弹窗等,都可以用Vue快速实现。

    Vue有两个关键定位需要记住:

    1. 渐进式框架:这是Vue最核心的特点。“渐进式”意味着你不需要一次性掌握Vue的所有功能,也不需要把整个项目都用Vue重写——你可以先只用它的“核心视图功能”(比如渲染一个简单列表),后续再根据需求逐步添加“路由”(实现页面跳转)、“状态管理”(管理复杂数据)等进阶功能,对项目的侵入性极低,学习和使用门槛都很友好。
    2. 数据驱动视图:传统网页开发中,我们需要手动用JavaScript操作DOM(比如用document.getElementById修改内容),而Vue则让你“专注于数据”——只要你修改了数据,Vue会自动帮你更新对应的视图,无需手动操作DOM,极大减少了代码量和出错概率。比如你想修改一个按钮的文字,只需要改数据里的buttonText,视图上的按钮文字会自动同步变化。

    二、为什么推荐学Vue?新手友好是关键

    对于零基础或前端入门者来说,选择框架的核心需求是“容易学、能快速出效果”,Vue恰好完美契合这一点,具体有三个优势:

    1. 学习曲线平缓,上手快:Vue的语法接近原生HTML和JavaScript,比如它的“模板语法”就是在HTML中添加简单指令(如v-for渲染列表、v-if控制显示隐藏),不需要像其他框架那样先理解复杂的概念(如JSX)。大部分新手花1-2天就能学会基础用法,1周内就能独立开发一个简单的小项目(比如TodoList待办清单、个人博客首页)。
    2. 文档完善,中文支持友好:Vue的官方文档(Vue 3 官方文档)堪称“前端框架文档典范”——内容由浅入深,例子丰富,而且完全支持中文(因为Vue的核心作者尤雨溪是中国人),不存在语言障碍。遇到问题时,直接查官方文档基本能解决80%以上的基础问题,对新手非常友好。
    3. 生态成熟,能应对不同场景:Vue有一套完善且官方维护的生态工具,不需要你在众多第三方库中“踩坑选型”:比如需要实现页面跳转,用官方的Vue Router;需要管理复杂数据(如购物车商品、用户信息),用官方推荐的Pinia;需要快速搭建项目,用官方支持的Vite(开发时热更新速度极快,几秒钟就能启动项目)。从个人小项目到企业级应用,Vue的生态都能覆盖。

    三、动手准备:5分钟搭建Vue开发环境

    想要学Vue,光看理论没用,必须动手写代码。下面带你用最简单的方式搭建Vue开发环境——两种方案,新手优先选“方案1”,想体验完整项目开发选“方案2”。

    方案1:直接在HTML中引入Vue(零配置,适合新手练手)

    如果你只是想快速体验Vue的基础语法,不需要搭建复杂的项目结构,直接在HTML文件中引入Vue的CDN链接即可,步骤如下:

    1. 新建一个文本文件,命名为vue-demo.html;
    2. 复制下面的代码到文件中(代码里有详细注释,告诉你每部分的作用);
    3. 用浏览器打开这个HTML文件,就能看到效果。
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
      <meta charset="UTF-8">
      <title>Vue基础demo</title>
      <!-- 1. 引入Vue的CDN链接(直接用官方提供的,不用下载) -->
      <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
    </head>
    <body>
      <!-- 2. 定义Vue要控制的“视图区域”(用id="app"标记) -->
      <div id="app">
        <!-- 3. 用Vue的“插值语法”显示数据({{ 数据名 }} 会自动渲染数据) -->
        <h1>{{ message }}</h1>
        <!-- 4. 用Vue的“指令”实现交互(v-on:click 绑定点击事件) -->
        <button v-on:click="changeMessage">点击修改文字</button>
      </div>
    
      <script>
        // 5. 创建Vue实例,关联视图区域并定义数据和方法
        const { createApp } = Vue; // 从Vue中获取创建实例的方法
        createApp({
          // 定义要用到的数据(数据驱动视图的核心)
          data() {
            return {
              message: "Hello, Vue!这是我的第一个Vue页面"
            };
          },
          // 定义要用到的方法(处理用户交互,比如点击事件)
          methods: {
            changeMessage() {
              // 修改数据,视图会自动更新
              this.message = "你已经学会了Vue的基础交互!";
            }
          }
        }).mount('#app'); // 将Vue实例挂载到id为app的元素上(让Vue控制这个区域)
      </script>
    </body>
    </html>
    

    打开文件后,你会看到“Hello, Vue!”的文字,点击按钮后文字会变化——这就是Vue“数据驱动视图”的直观体现:你只修改了message数据,视图就自动更新了,没有写任何操作DOM的代码。

    方案2:用Vite搭建完整Vue项目(适合实际开发)

    如果想体验真实项目的开发流程(比如文件夹结构、组件化开发),推荐用Vite搭建项目(Vite是Vue作者团队开发的构建工具,速度比传统的Webpack快很多)。前提是你需要先安装Node.js(建议安装LTS长期支持版,自带npm包管理工具)。

    搭建步骤如下(全程在“命令提示符”或“终端”中操作):

    1. 打开终端,进入你想存放项目的文件夹(比如cd D:\projects);
    2. 执行命令创建Vue项目:npm create vite@latest my-vue-project -- --template vue(my-vue-project是项目名,可自定义);
    3. 按提示操作:输入项目名后,直接按回车(默认选项即可);
    4. 进入项目文件夹:cd my-vue-project;
    5. 安装依赖:npm install(第一次执行会下载项目需要的依赖包,耐心等几分钟);
    6. 启动开发服务器:npm run dev;
    7. 终端会显示一个本地地址(比如http://127.0.0.1:5173/),用浏览器打开这个地址,就能看到Vue的默认欢迎页面,项目搭建成功!

    此时你可以用VS Code(或其他编辑器)打开my-vue-project文件夹,就能看到完整的Vue项目结构了——后续的开发都是在这个结构中编写代码。

    四、Vue核心基础:3个必须掌握的概念

    学会搭建环境后,接下来要掌握Vue的3个核心基础概念,这是后续开发所有功能的前提。

    1. 插值语法:让数据显示在视图上

    插值语法是Vue中最基础的“数据渲染”方式,用{{ 数据名 }}包裹数据,就能将data中定义的数据显示在视图上。比如:

    <!-- 在视图区域中 -->
    <div id="app">
      {{ name }} <!-- 显示data中的name数据 -->
      {{ 1 + 2 }} <!-- 支持简单表达式,会显示3 -->
      {{ message.split('').reverse().join('') }} <!-- 支持JS方法,会将message反转显示 -->
    </div>
    
    <script>
    createApp({
      data() {
        return {
          name: "Vue学习者",
          message: "Hello Vue"
        };
      }
    }).mount('#app');
    </script>
    

    注意:插值语法中只能写“表达式”(有返回值的代码),不能写语句(比如if、for循环),如果需要复杂逻辑,后续可以用“计算属性”实现。

    2. 指令:给HTML添加“特殊能力”

    Vue的指令是带有v-前缀的特殊HTML属性,用来实现“条件渲染”“循环渲染”“事件绑定”等交互功能。新手先掌握3个最常用的指令即可:

    • v-if:控制元素显示/隐藏(基于条件)
      根据数据的值判断是否渲染元素(条件为true时显示,false时隐藏,且会从DOM中移除元素)。比如:

      <div id="app">
        <p v-if="isShow">这行文字会根据isShow的值显示或隐藏</p>
        <button v-on:click="toggleShow">点击切换显示</button>
      </div>
      <script>
      createApp({
        data() {
          return { isShow: true }; // 初始为true,显示文字
        },
        methods: {
          toggleShow() {
            this.isShow = !this.isShow; // 点击时反转isShow的值
          }
        }
      }).mount('#app');
      </script>
      
    • v-for:循环渲染列表
      基于数组或对象循环生成DOM元素,比如渲染商品列表、用户列表等。语法是v-for="(item, index) in 数组名",item是数组中的每个元素,index是索引(可选)。比如:

      <div id="app">
        <h3>我的商品列表</h3>
        <ul>
          <!-- 循环渲染商品数组,每个商品生成一个li -->
          <li v-for="(product, index) in products" :key="index">
            第{{ index+1 }}个商品:{{ product.name }} - 价格:{{ product.price }}元
          </li>
        </ul>
      </div>
      <script>
      createApp({
        data() {
          return {
            products: [ // 商品数组
              { name: "Vue实战教程", price: 99 },
              { name: "前端开发手册", price: 59 },
              { name: "程序员水杯", price: 29 }
            ]
          };
        }
      }).mount('#app');
      </script>
      

      注意:v-for循环时建议加上:key(绑定唯一标识,如索引或商品ID),Vue会通过key优化渲染性能,避免出现数据错乱。

    • v-on:绑定事件(处理用户交互)
      用来给元素绑定点击、输入、鼠标移动等事件,语法可以简写为@事件名(比如@click替代v-on:click)。比如:

      <div id="app">
        <p>当前计数:{{ count }}</p>
        <!-- 绑定点击事件,调用addCount方法 -->
        <button @click="addCount">点击加1</button>
        <!-- 事件中也可以直接写简单逻辑(不推荐复杂逻辑,建议用方法) -->
        <button @click="count -= 1">点击减1</button>
      </div>
      <script>
      createApp({
        data() {
          return { count: 0 };
        },
        methods: {
          addCount() {
            this.count += 1;
          }
        }
      }).mount('#app');
      </script>
      
    3. 双向绑定:数据和视图“同步更新”

    在表单(如输入框、下拉框)场景中,我们希望“用户修改表单内容时,数据自动更新;数据修改时,表单内容也自动更新”——这就是Vue的“双向绑定”,用v-model指令实现。比如:

    <div id="app">
      <!-- 输入框与username数据双向绑定 -->
      <input type="text" v-model="username" placeholder="请输入用户名">
      <p>你输入的用户名:{{ username }}</p>
    
      <!-- 下拉框与city数据双向绑定 -->
      <select v-model="city">
        <option value="">请选择城市</option>
        <option value="beijing">北京</option>
        <option value="shanghai">上海</option>
      </select>
      <p>你选择的城市:{{ city }}</p>
    </div>
    <script>
    createApp({
      data() {
        return {
          username: "", // 初始为空
          city: ""
        };
      }
    }).mount('#app');
    </script>
    

    当你在输入框中输入文字时,下面的{{ username }}会实时同步变化;如果在代码中修改this.username,输入框的内容也会自动更新——这就是双向绑定的便捷之处,特别适合表单开发。

    五、入门后的下一步:该学什么?

    掌握了上述基础后,你已经能开发简单的Vue页面了。如果想进一步深入,可以按以下顺序学习进阶内容:

    1. 组件化开发:Vue的核心思想之一,将页面拆分成独立的“组件”(如头部组件、列表组件、弹窗组件),组件可复用、易维护。比如把之前的商品列表拆成ProductList组件,在多个页面中重复使用。
    2. 计算属性与侦听器:计算属性用来处理复杂的数据逻辑(如过滤商品列表),侦听器用来监听数据变化并执行操作(如数据变化时发送请求)。
    3. Vue Router:官方路由工具,实现页面之间的跳转(如从首页跳转到详情页),管理路由参数(如详情页的商品ID)。
    4. Pinia:官方状态管理工具,管理跨组件共享的数据(如用户登录状态、购物车数据),避免组件间数据传递繁琐。

    总结

    Vue对新手的友好度极高,从“HTML引入CDN练手”到“Vite搭建项目开发”,再到“组件化+生态工具构建复杂应用”,整个学习路径非常平滑。刚开始不用追求“一次性学完所有内容”,先通过简单demo掌握“数据驱动”“指令”“双向绑定”等基础,再逐步深入进阶知识——最重要的是多动手写代码,哪怕是实现一个简单的待办清单,也能帮你理解Vue的核心思想。

    1 条评论 最后评论
    0
    • 小黑小 离线
      小黑小 离线
      小黑
      编写于 最后由 编辑
      #2

      @昵称长度要四个字

      1 条评论 最后评论
      0
      评论
      • 在新文章中评论
      登录后评论
      • 从旧到新
      • 从新到旧
      • 最多赞同


      • 登录

      • 没有帐号? 注册

      • 登录或注册以进行搜索。
      • 第一个评论
        最后一个评论