Vue百日学习计划Day24-28天详细计划-Gemini版

总目标: 在 Day 24-27 熟练掌握 Vue.js 的各种模板语法,包括文本插值、属性绑定、条件渲染、列表渲染、事件处理和表单绑定,并能结合使用修饰符。

  • 所需资源:
    • Vue 3 官方文档 (模板语法): https://cn.vuejs.org/guide/essentials/template-syntax.html
    • Vue 3 官方文档 (条件渲染): https://cn.vuejs.org/guide/essentials/conditional.html
    • Vue 3 官方文档 (列表渲染): https://cn.vuejs.org/guide/essentials/list.html
    • Vue 3 官方文档 (事件处理): https://cn.vuejs.org/guide/essentials/event-handling.html
    • Vue 3 官方文档 (表单输入绑定): https://cn.vuejs.org/guide/essentials/forms.html
    • Day 21-23 创建并运行成功的 Vue 3 项目(作为实践环境)。

Day 24: 基础模板语法 - 插值与绑定 (~3 小时)

  • 本日目标: 学习如何在模板中显示数据(文本、HTML)以及如何将数据绑定到 HTML 元素的属性上。

  • 学习计划:

    • 番茄时钟 1 (25 分钟工作 + 5 分钟休息):

      • 内容: 文本插值 ({{ }}) 与 JavaScript 表达式。
      • 活动: 阅读官方文档“模板语法”部分关于文本插值的内容。在你的 Vue 项目中,修改 App.vue 或创建一个新组件,尝试使用 {{ }} 显示组件中的数据 (<script setup> 中的变量)。尝试在插值中使用简单的 JavaScript 表达式(如计算、三元运算符)。
      • 实践:<script setup> 中定义一个变量 message,在 <template> 中显示 {{ message }}。定义 countprice,显示 {{ count * price }}
      • 休息: 短暂休息。
    • 番茄时钟 2 (25 分钟工作 + 5 分钟休息):

      • 内容: 原始 HTML (v-html)。
      • 活动: 阅读官方文档“模板语法”部分关于 v-html 的内容。理解它的作用是将包含 HTML 标签的字符串作为真实的 HTML 插入。重点理解并记住安全风险!
      • 实践:<script setup> 中定义一个包含 HTML 标签的字符串 rawHtml = '<span>有 **加粗** 文字</span>',使用 v-html="rawHtml" 显示它。
      • 休息: 短暂休息。
    • 番茄时钟 3 (25 分钟工作 + 5 分钟休息):

      • 内容: Attribute 绑定 (v-bind:) - 基础。
      • 活动: 阅读官方文档“模板语法”部分关于属性绑定的内容。理解 v-bind 用于动态设置 HTML 属性的值。学习其缩写 :
      • 实践: 绑定 img 标签的 src 属性到一个变量。绑定 a 标签的 href 属性。绑定 buttondisabled 属性到一个布尔值变量。
      • 休息: 短暂休息。
    • 番茄时钟 4 (25 分钟工作 + 5 分钟休息):

      • 内容: Attribute 绑定 (v-bind:) - Class 与 Style 绑定。
      • 活动: 阅读官方文档中关于 Class 与 Style 绑定的详细内容。理解如何通过对象和数组的方式动态绑定元素的 class 和 style。
      • 实践: 根据条件绑定不同的 CSS class。动态绑定元素的颜色或字体大小 style。
      • 休息: 短暂休息。
    • 总结与回顾 (10-15 分钟):

      • 回顾今天学习的四种基本模板显示/绑定方式。
      • 确保理解 {{ }}, v-html, v-bind (:) 的用法和区别。
      • 检查实践代码是否按预期工作。

Day 25: 条件渲染 (v-if, v-show) (~3 小时)

  • 本日目标: 学习如何根据数据的真假来决定元素的显示或隐藏。

  • 所需资源: Vue 3 官方文档 (条件渲染): https://cn.vuejs.org/guide/essentials/conditional.html

  • 学习计划:

    • 番茄时钟 1 (25 分钟工作 + 5 分钟休息):

      • 内容: v-if, v-else
      • 活动: 阅读官方文档“条件渲染”部分关于 v-ifv-else 的内容。理解它们是基于条件“销毁/重建”DOM 元素。
      • 实践: 定义一个布尔值变量 isLoggedIn,使用 v-if 显示“欢迎回来”,使用 v-else 显示“请登录”。
      • 休息: 短暂休息。
    • 番茄时钟 2 (25 分钟工作 + 5 分钟休息):

      • 内容: v-else-if
      • 活动: 阅读官方文档关于 v-else-if 的内容。学习如何在多个条件之间进行选择性渲染。
      • 实践: 定义一个变量 userRole (如 ‘admin’, ‘editor’, ‘viewer’),使用 v-if, v-else-if, v-else 根据角色显示不同的内容或按钮。
      • 休息: 短暂休息。
    • 番茄时钟 3 (25 分钟工作 + 5 分钟休息):

      • 内容: v-show
      • 活动: 阅读官方文档关于 v-show 的内容。理解 v-show 是通过 CSS 的 display 属性来控制元素的显示/隐藏,元素始终存在于 DOM 中。
      • 实践: 定义一个布尔值变量 isLoading,使用 v-show="isLoading" 显示一个加载中的指示器。
      • 休息: 短暂休息。
    • 番茄时钟 4 (25 分钟工作 + 5 分钟休息):

      • 内容: v-if vs v-show
      • 活动: 对比阅读官方文档中 v-ifv-show 的区别和使用场景建议。理解性能差异(v-if 开销大,但切换成本低;v-show 初始开销低,但切换成本高)。
      • 思考: 在哪些情况下应该优先使用 v-if?哪些情况下优先使用 v-show
      • 休息: 短暂休息。
    • 总结与回顾 (10-15 分钟):

      • 回顾 v-if, v-else-if, v-else, v-show 的用法。
      • 巩固 v-ifv-show 的核心区别。
      • 尝试将今天学到的条件渲染应用到昨天创建的实践代码中。

Day 26: 列表渲染 (v-for) (~3 小时)

  • 本日目标: 学习如何使用 v-for 指令基于数组或对象列表渲染多个元素。

  • 所需资源: Vue 3 官方文档 (列表渲染): https://cn.vuejs.org/guide/essentials/list.html

  • 学习计划:

    • 番茄时钟 1 (25 分钟工作 + 5 分钟休息):

      • 内容: v-for 渲染数组 (基础)。
      • 活动: 阅读官方文档“列表渲染”部分关于 v-for 渲染数组的内容。学习基本语法 item in items
      • 实践:<script setup> 中定义一个字符串数组 items = ['Apple', 'Banana', 'Orange']。在 <template> 中使用 v-for="item in items" 渲染一个 <li> 列表显示这些水果名称。
      • 休息: 短暂休息。
    • 番茄时钟 2 (25 分钟工作 + 5 分钟休息):

      • 内容: v-for 渲染数组 (带索引)。
      • 活动: 学习 v-for 带索引的语法 (item, index) in items。理解 index 的作用。
      • 实践: 修改上一步的列表,显示每个水果的索引,例如 {{ index }}. {{ item }}
      • 休息: 短暂休息。
    • 番茄时钟 3 (25 分钟工作 + 5 分钟休息):

      • 内容: v-for 渲染对象、整数范围、<template>
      • 活动: 阅读官方文档中关于 v-for 渲染对象 (value, key, index)、整数范围 (n in 10) 以及在 <template> 标签上使用 v-for 的内容。
      • 实践: 渲染一个对象的属性列表。渲染一个从 1 到 5 的数字列表。在 <template> 标签上使用 v-for 结合 v-if 实现复杂列表结构的渲染。
      • 休息: 短暂休息。
    • 番茄时钟 4 (25 分钟工作 + 5 分钟休息):

      • 内容: key 的重要性。
      • 活动: 阅读官方文档中关于 key 属性的重要性和作用。理解 key 用于给 Vue 一个提示,以跟踪每个节点的身份,从而高效地更新虚拟 DOM。理解为什么不推荐使用索引作为 key (除非数据永不改变)。
      • 实践: 在之前的 v-for 循环中添加 :key="item.id" (如果你的数据有唯一 ID) 或 :key="index" (如果暂时没有唯一 ID,但理解其局限性)。尝试移除 :key 或使用不合适的 key,观察列表更新时的潜在问题 (虽然简单示例可能不明显)。
      • 休息: 短暂休息。
    • 总结与回顾 (10-15 分钟):

      • 回顾 v-for 的各种用法和语法。
      • 重点巩固 key 的作用和正确使用方式。
      • 尝试结合 v-ifv-for 在列表中根据条件显示/隐藏某些项。

Day 27: 事件处理 (v-on) 与表单绑定 (v-model) + 修饰符 (~3 小时)

  • 本日目标: 学习如何响应用户交互(事件)以及如何实现表单输入和应用状态之间的双向绑定。掌握常用修饰符。

  • 所需资源:

    • Vue 3 官方文档 (事件处理): https://cn.vuejs.org/guide/essentials/event-handling.html
    • Vue 3 官方文档 (表单输入绑定): https://cn.vuejs.org/guide/essentials/forms.html
  • 学习计划:

    • 番茄时钟 1 (25 分钟工作 + 5 分钟休息):

      • 内容: 事件处理 (v-on@) - 基础。
      • 活动: 阅读官方文档“事件处理”部分。学习 v-on 指令及其缩写 @ 的用法。理解如何绑定事件到组件方法。
      • 实践:<script setup> 中定义一个方法 handleClick = () => { alert('按钮被点击了!'); }。在 <template> 中使用 @click="handleClick" 绑定到一个按钮。
      • 休息: 短暂休息。
    • 番茄时钟 2 (25 分钟工作 + 5 分钟休息):

      • 内容: 事件处理 - 参数与事件对象,修饰符 (.prevent, .stop)。
      • 活动: 阅读官方文档关于事件处理中传递参数和访问原生事件对象 ($event) 的内容。学习 .prevent (阻止默认事件) 和 .stop (阻止事件冒泡) 修饰符。
      • 实践: 尝试在事件处理方法中接收并打印事件对象 $event。创建一个链接,使用 @click.prevent 阻止页面跳转。创建一个嵌套元素,使用 @click.stop 阻止内部元素的点击事件冒泡到外部元素。
      • 休息: 短暂休息。
    • 番茄时钟 3 (25 分钟工作 + 5 分钟休息):

      • 内容: 表单输入绑定 (v-model) - 文本输入。
      • 活动: 阅读官方文档“表单输入绑定”部分。理解 v-model 用于在表单输入元素和应用状态之间创建双向绑定。从文本输入 <input type="text"><textarea> 开始学习。
      • 实践:<script setup> 中定义一个响应式变量 inputText = ref('')。使用 v-model="inputText" 绑定到一个 <input type="text">。在 <template> 中显示 {{ inputText }},观察输入框内容和显示内容同步变化。对 <textarea> 进行相同的实践。
      • 休息: 短暂休息。
    • 番茄时钟 4 (25 分钟工作 + 5 分钟休息):

      • 内容: 表单输入绑定 (v-model) - 复选框、单选按钮、选择框。
      • 活动: 阅读官方文档关于 v-model<input type="checkbox">, <input type="radio">, <select> 上的用法。理解它们如何绑定到布尔值、数组或单个值。
      • 实践: 绑定一个复选框到布尔值。绑定多个复选框到一个数组。绑定单选按钮到一个值。绑定选择框(单选和多选)到一个值或数组。
      • 休息: 短暂休息。
    • 番茄时钟 5 (25 分钟工作 + 5 分钟休息):

      • 内容: v-model 修饰符 (.lazy, .number, .trim)。
      • 活动: 阅读官方文档关于 v-model 修饰符的内容。理解 .lazy (将 input 事件改为 change 事件)、.number (自动将输入转为数字) 和 .trim (自动去除首尾空白字符) 的作用。
      • 实践: 对文本输入使用 .lazy,观察同步时机。对数字输入使用 .number,检查绑定变量的类型。对文本输入使用 .trim,输入带空格的文本,观察显示结果。
      • 休息: 短短休息。
    • 总结与实践 (10-15 分钟):

      • 回顾事件处理和表单绑定的核心概念和常用指令。
      • 总结学习过的各种修饰符及其作用。
      • 实践: 尝试构建一个小表单,包含不同类型的输入框,并使用 v-model 绑定数据,使用 @submit.prevent 阻止表单默认提交,并在提交时(点击按钮)打印绑定的数据。结合条件渲染和列表渲染,例如,根据复选框的状态显示/隐藏某些内容,或者根据输入框过滤一个列表。

掌握检查:

  • 在 Day 27 结束时,你应该能够:
    • 在模板中正确使用 {{ }}v-html 显示数据。
    • 使用 v-bind (:) 动态绑定元素的属性、class 和 style。
    • 使用 v-if, v-else-if, v-elsev-show 控制元素的显示/隐藏。
    • 使用 v-for 渲染数组或对象列表,并理解 key 的作用。
    • 使用 v-on (@) 绑定事件到方法,处理事件对象,并使用 .prevent.stop 修饰符。
    • 使用 v-model 实现表单输入元素的双向绑定,并了解其在不同输入类型上的用法。
    • 能够使用 .lazy, .number, .trimv-model 修饰符。
    • 尝试将这些指令和修饰符结合起来解决一些简单的界面交互问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/web/80529.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式微服务系统架构第125集:AI大模型

加群联系作者vx&#xff1a;xiaoda0423 仓库地址&#xff1a;https://webvueblog.github.io/JavaPlusDoc/ https://1024bat.cn/ 一、user 表&#xff08;用户表&#xff09; sql 复制编辑 create table if not exists user (id bigint auto_increment comment id pri…

机器学习 Day16 聚类算法 ,数据降维

聚类算法 1.简介 1.1 聚类概念 无监督学习&#xff1a;聚类是一种无监督学习算法&#xff0c;不需要预先标记的训练数据 相似性分组&#xff1a;根据样本之间的相似性自动将样本归到不同类别 相似度度量&#xff1a;常用欧式距离作为相似度计算方法 1.2 聚类vs分类 聚类&…

【Linux】第十八章 调优系统性能

1. 系统管理员可以使用哪个命令来更改tuned守护进程的设置&#xff1f; tuned 的调优配置集存储在 /usr/lib/tuned&#xff08;默认&#xff09; 和 /etc/tuned&#xff08;自定义 或当前有效&#xff09;目录下。每个配置集都有一个单独的目录&#xff0c;目录中包含 tuned.c…

【JVS更新日志】企业文档AI助手上线、低代码、智能BI、智能APS、AI助手5.14更新说明!

项目介绍 JVS是企业级数字化服务构建的基础脚手架&#xff0c;主要解决企业信息化项目交付难、实施效率低、开发成本高的问题&#xff0c;采用微服务配置化的方式&#xff0c;提供了低代码数据分析物联网的核心能力产品&#xff0c;并构建了协同办公、企业常用的管理工具等&…

ollama调用千问2.5-vl视频图片UI界面小程序分享

1、问题描述&#xff1a; ollama调用千问2.5-vl视频图片内容&#xff0c;通常用命令行工具不方便&#xff0c;于是做了一个python UI界面与大家分享。需要提前安装ollama&#xff0c;并下载千问qwen2.5vl:7b 模型&#xff0c;在ollama官网即可下载。 &#xff08;8G-6G 显卡可…

Web 架构之会话保持深度解析

文章目录 一、引言二、会话保持的基本概念2.1 什么是会话2.2 为什么需要会话保持 三、会话保持的常见实现方式3.1 基于客户端的会话保持3.1.1 Cookie 方式3.1.2 URL 重写方式 3.2 基于服务器端的会话保持3.2.1 负载均衡器会话保持3.2.2 会话共享 四、会话保持可能遇到的问题及解…

Maven 项目中将本地依赖库打包到最终的 JAR 中

文章目录 前言详细步骤 前言 在现代后端开发中&#xff0c;构建高效且可扩展的 Web 应用程序通常依赖于多种第三方库和内部依赖。这些依赖可以来自公共仓库&#xff0c;也可能是公司内部自研的库或尚未发布到公共仓库的 JAR 包。本文将详细介绍如何在 Maven 项目中处理本地依赖…

快速定位到源码位置的插件 - vite/webpack

1. vite-plugin-vue-devtools npm i vite-plugin-vue-devtools -D vite.config.js中配置 import vueDevTools from vite-plugin-vue-devtoolsexport default defineConfig({server: {port: 5173,host: 0.0.0.0},plugins: [vue(),vueJsx(),vueDevTools({componentInspector: t…

基于AH1101芯片的5V升18.6V LED恒流背光供电方案设计

基于AH1101芯片的5V升18.6V LED恒流背光供电方案设计 在现代电子设备中&#xff0c;LED背光技术因其高效、节能、寿命长等优点被广泛应用于各类显示设备。本文将详细介绍如何利用AH1101高效升压恒流驱动芯片&#xff0c;实现从5V输入电压升压至18.6V&#xff0c;为LED背光板提供…

16.1 - VDMA视频转发实验之TPG

文章目录 1 实验任务2 系统框图3 硬件设计3.1 IP核配置3.2 注意事项 4 软件设计4.1 注意事项4.2 工程源码4.2.1 main.c文件 1 实验任务 基于14.1&#xff0c;使用Xilinx TPG&#xff08;Test Pattern Generator&#xff09; IP提供视频源&#xff0c;将视频数据通过VDMA写入PS…

认识Docker/安装Docker

一、认识Docker Docker的定义 Docker 是一个开源的应用容器引擎&#xff0c;允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中。容器化技术使得应用可以在任何支持 Docker 的环境中运行&#xff0c;确保环境一致性。 Docker的核心组件 Docker Engine&#xff1a;负责…

实用工具:微软软件PowerToys(完全免费),实现多台电脑共享鼠标和键盘(支持window系统)

实用工具&#xff1a;微软软件 PowerToys 让多台电脑共享鼠标和键盘 在如今的数字化办公与生活场景中&#xff0c;我们常常会面临同时使用多台电脑的情况。例如&#xff0c;办公时可能一台电脑用于处理工作文档&#xff0c;另一台用于运行专业软件或查看资料&#xff1b;家庭环…

西门子 Teamcenter13 Eclipse RCP 开发 1.1 工具栏 普通按钮

西门子 Teamcenter13 Eclipse RCP 开发 1.1 工具栏 普通按钮 1 配置文件2 插件控制3 命令框架 位置locationURI备注菜单栏menu:org.eclipse.ui.main.menu添加到传统菜单工具栏toolbar:org.eclipse.ui.main.toolbar添加到工具栏 style 值含义显示效果push普通按钮&#xff08;默…

React中巧妙使用异步组件Suspense优化页面性能。

文章目录 前言一、为什么需要异步组件&#xff1f;1. 性能瓶颈分析2. 异步组件的价值 二、核心实现方式1. React.lazy Suspense&#xff08;官方推荐&#xff09;2. 路由级代码分割&#xff08;React Router v6&#xff09; 总结 前言 在 React 应用中&#xff0c;随着功能复…

现在环保方面有什么新的技术动态

环保领域的技术发展迅速&#xff0c;尤其在“双碳”目标、数字化转型和可持续发展背景下&#xff0c;涌现出许多创新技术和应用。以下是当前环保领域的新技术动态&#xff08;截至2024年&#xff09;&#xff1a; 一、碳中和与碳减排技术 CCUS&#xff08;碳捕集、利用与封存&a…

solidwors插件 开发————仙盟创梦IDE

SolidWorks VBS SolidWorks 支持通过 VBScript&#xff08;.vbs&#xff09;脚本 进行简单的二次开发&#xff08;如自动化建模、批量操作等&#xff09;&#xff0c;但严格来说这属于 脚本编程&#xff0c;而非传统的插件&#xff08;Plug-in&#xff09;开发&#xff08;插件…

docker(二)初识 docker

在第一章的容器化架构中&#xff0c;我们已经了解到了 docker 是一个容器化技术&#xff0c;本章将详细介绍什么是虚拟化、容器化技术&#xff0c;以及什么是 docker。 一、物理机 VS 虚拟化 VS 容器化 物理机&#xff1a; 实际的服务器或者计算机。是相对于虚拟机而言的对实体…

ChatGPT + DeepSeek 联合润色的 Prompt 模板指令合集,用来润色SCI论文太香了!

对于非英语母语的作者来说,写SCI论文的时候经常会碰到语法错误、表达不够专业、结构不清晰以及术语使用不准确等问题。传统的润色方式要么成本高、效率低,修改过程又耗时又费力。虽然AI工具可以帮助我们来润色论文,但单独用ChatGPT或DeepSeek都会存在内容泛泛、专业性不足的…

python打包exe报错:处理文件时错误:Excel xlsx file; not supported

背景&#xff1a;最近用python写一个excel解析工具&#xff0c;然后打包成exe可执行文件的时候&#xff0c;遇到这样的问题 1.在我自己编译器运行是可以正常将上传后的excel进行解析&#xff0c;但是在打包成exe后&#xff0c;就无法正常解析excel 问题排查&#xff1a; 1.切换…

Ubuntu操作合集

UFWUncomplicated Firewall 查看状态和规则&#xff1a; 1查看状态sudo ufw status&#xff0c; 2查看详细信息sudo ufw status verbose&#xff0c; 默认策略配置&#xff1a; 1拒绝所有入站sudo ufw default deny incoming 2允许所有出战sudo ufw default allow outgoing …