当前位置: 首页 > backend >正文

Vue2+Vue3前端开发_Day1

参考课程:

黑马程序员 Vue2+Vue3基础入门到实战项目】

[https://www.bilibili.com/video/BV1HV4y1a7n4]

@ZZHow(ZZHow1024)

Vue快速上手

  • 介绍

    • 概念:Vue 是一个用于①构建用户界面的②渐进式③框架。

      • ①构建用户界面:基于数据渲染出用户看到的页面。
      • ②渐进式:循序渐进。
      • ③框架:一套完整的项目解决方案。
    • Vue 的两种使用方式:

      1. Vue 核心包开发,场景:局部模块改造。
      2. Vue 核心包 & Vue 插件工程化开发,场景:整站开发。
    • 优点:大大提升开发效率(70%)。

    • 缺点:需要理解记忆规则 - 官网。

    • 官网:

      Vue.js

  • 创建实例

    • 构建用户界面 → 创建 Vue 实例初始化渲染

      • 核心步骤 4 步:
        1. 准备容器
        2. 引包(官网) - 开发版本 / 生产版本
        3. 创建 Vue 实例 new Vue()
        4. 指定配置项 渲染数据
          ① el:指定挂载点
          ② data:提供数据
    • 示例

      https://github.com/ZZHow1024/Vue-Learning/blob/main/Day1/VueQuickStart.html

      <div id="app">{{ msg }}
      </div><!-- 开发环境版本,包含了有帮助的命令行警告 -->
      <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script><script>const app = new Vue({el: '#app',data: {msg: 'Hello Vue!'}})
      </script>
      
  • 插值表达式

    • 插值表达式是一种 Vue 的模板语法。
    • 作用:利用表达式进行插值,渲染到页面中。
    • 表达式:是可以被求值的代码,JavaScript 引擎会将其计算出一个结果。
    • 语法:{{ 表达式 }}
    • 注意:
      1. 使用的数据必须存在(data)。
      2. 支持的是表达式,而非语句,比如:if, for, …。
      3. 不能在标签属性中使用 {{}} 插值。
  • 响应式特性

    • 响应式:数据变化,视图自动更新。
    • 数据 —修改数据—> 监听到数据修改 —自动更新视图(Dom 操作)—> 视图界面
    • 聚焦于数据 → 数据驱动视图
    • 使用 Vue 开发,关注业务的核心逻辑,根据业务修改数据即可。
  • 开发者工具

    • Chrome 插件:Vue.js devtools

Vue指令

  • 指令:带有v-前缀的特殊标签属性

  • v-html 指令

    • v-html = "表达式":动态设置元素 innerHTML。
  • v-show 指令

    • 作用:控制元素显示隐藏。
    • 语法:v-show = "表达式":表达式值 true 显示,false 隐藏。
    • 原理:切换 display: none 控制显示隐藏。
    • 场景:频繁切换显示隐藏的场景。
  • v-if 指令

    • 作用:控制元素显示隐藏**(条件渲染)**
    • 语法:v-if = "表达式":表达式值 true 显示,false 隐藏。
    • 基于条件判断,是否创建或移除元素节点。
    • 要么显示,要么隐藏,不频繁切换的场景。
  • v-else 和 v-else-if 指令

    • 作用:辅助 v-if 进行判断渲染。
    • 语法:v-elsev-else-if = "表达式"
    • 注意:需要紧挨着 v-if 一起使用。
  • v-on 指令

    • 作用:注册事件 = 添加监听 + 提供处理逻辑

    • 语法:

      1. v-on:事件名 = "内联语句"

      2. v-on:事件名 = "methods中的函数名"

        <script>const app = new Vue({el: '#app',data: {//提供数据},methods: {//提供处理逻辑函数fn() {console.log("提供逻辑代码");}}})
        </script>
        
    • 简写:@事件名

    • 注意:methods 函数内的 this 指向 Vue 实例。

    • 传参:

      <button @click="fn(参数1, 参数2)"></button><script>const app = new Vue({el: '#app',data: {//提供数据},methods: {//提供处理逻辑函数fn(a, b) {console.log("提供逻辑代码");}}})
      </script>
      
  • v-bind 指令

    • 作用:动态的设置 HTML 的标签属性 src, url, title, …
    • 语法:v-bind:属性名 = "表达式"
    • 注意:简写形式:属性名 = "表达式"
  • v-for 指令

    • 作用:基于数据循环,多次渲染整个元素 — 数组、对象、数字…

    • 遍历数组语法:

      v-for = "(item, index) in 数组"

      • item:每一项,index:下标
      • 省略 index:v-for = "item in 数组"
    • key 作用:给元素添加的唯一标识,便于 Vue 进行列表项的正确排序复用。

      • 注意:
        1. key 的值只能是字符串数字类型。
        2. key 的值必须具有唯一性。
        3. 推荐使用 id 作为 key(唯一),不推荐使用 index 作为 key(会变化,不对应)。
  • v-model 指令

    • 作用:给表单元素使用,双向数据绑定 → 可以快速获取设置表单元素内容
      • 数据变化 → 视图自动更新
      • 视图变化 → 数据自动更新
    • 语法:v-model = '变量'

综合案例(小黑记事本)

  • 功能需求:
    1. 列表渲染
    2. 删除功能
    3. 添加功能
    4. 底部统计和清空
  • 功能总结:
    1. 列表渲染:v-for、key 的设置 和 {{}} 插值表达式。
    2. 删除功能:v-on 调用传参、filter 过滤 和 覆盖修改原数组。
    3. 添加功能:v-model 绑定 和 unshift 修改原数组添加。
    4. 底部统计 和 清空:数组.length 累计长度、覆盖数组清空列表 和 v-show 控制隐藏。
  • 案例演示:https://github.com/ZZHow1024/Vue-Learning/blob/main/Day1/LittleBlackNotebook.html
http://www.xdnf.cn/news/18177.html

相关文章:

  • Fragment重要知识点总结
  • Incredibuild 新增 Unity 支持:击破构建时间过长的痛点
  • 机器学习(决策树2)
  • MVVM开源项目
  • Netty处理粘包与拆包
  • vue使用vue-cropper实现图片裁剪之单图裁剪
  • 关于mybatis表关联查询和mybatis-Plus单表查询传入时间查询数据(走索引)
  • Linux Namespace 隔离的“暗面”——故障排查、认知误区与演进蓝图
  • CVPR 2025 | 具身智能 | HOLODECK:一句话召唤3D世界,智能体的“元宇宙练功房”来了
  • 【HTML】3D动态凯旋门
  • 通过C#上位机串口写入和读取浮点数到stm32的片内flash实战4(通过串口下发AD9833设置值并在上位机显示波形曲线)
  • “你不干有的是AI干”,提示词中的“情感化提示”
  • 如何在 Ubuntu Linux 上安装 RPM 软件包
  • 【SQL优化案例】统计信息缺失
  • Vercel v0 iOS版重磅发布:AI驱动的移动开发新篇章
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘paramiko’问题
  • C++入门自学Day14-- Stack和Queue的自实现(适配器)
  • Java高级面试实战:Spring Boot微服务与Redis缓存整合案例解析
  • “R语言+遥感”的水环境综合评价方法实践技术应用
  • Centos7物理安装 Redis8.2.0
  • 【GNSS定位原理及算法杂记6】​​​​​​PPP(精密单点定位)原理,RTK/PPK/PPP区别讨论
  • 【部署相关】DockerKuberbetes常用命令大全(速查+解释)
  • 孩子王披露半年报:多数据持续增长,全年预期增强
  • git仓库和分支的关系
  • Linux GPIO子系统中开漏模式软件仿真机制的深度分析
  • 【深度学习计算性能】06:多GPU的简洁实现
  • 树状数组/差分数组/线段树/莫队算法介绍
  • 政务窗口服务满意度调查:服务型政府建设赋能方案(北京市场调研)
  • 2025年12大AI测试自动化工具
  • 电子电气架构 --- 软件项目风险管理