【Vue】指令补充+样式绑定+计算属性+侦听器

news2025/6/9 0:17:23

【指令补充】

【指令修饰符】

指令修饰符可以让指令的 功能更强大,书写更便捷

分类:

1.按键修饰符(侦测当前点击的是哪个按键)

2.事件修饰符(简化程序对于阻止冒泡, 一些标签的默认默认行为的操作)

3.双向绑定指令修饰符(让v-model的功能更强大)

【按键修饰符】

• @keydown.enter:当enter键按下时触发

• @keyup.enter:当enter键抬起时触发

【事件修饰符】

1. @事件名.stop —> 阻止冒泡

2. @事件名.prevent —>阻止默认行为

3. @事件名.stop.prevent —>可以连用, 即阻止事件冒泡也阻止默认行为

【v-model修饰符】

• v-model.trim —> 去除输入框的首尾空格后, 再同步给数据

• v-model.number —> 尝试用parseFloat()把输入框的值转成数字后, 同步给数据, 转不了就不转

• v-model.lazy —> 失去焦点时同步数据,而不是输入时同步数据

【双向绑定指令修饰符】

输⼊框 input:text ——> value

文本域 textarea ——> value

下拉菜单 select ——> value

单选框 input:radio ——> value

复选框 input:checkbox ——> checked / value

<script setup>
import { ref } from 'vue'
// ⾃我介绍
const intro = ref('')
// 收集城市
const city = ref('SH')
// 收集血型
const blood = ref('ab')
// 是否同意用户协议
const isAgree = ref(false)
// 收集爱好
const hobby = ref(['ZQ', 'PB'])
</script>
<template>
    <div>
        <!-- 文本域 -->
        <textarea v-model="intro" cols="30" rows="4"
            placeholder="请输⼊自我介绍"></textarea>
        <br />
        <br />
        <!-- 下拉菜单 -->
         <!-- 哪个option的value放到city的ref中, 哪个就是初始值(默认选项) -->
        <select v-model="city">
            <option value="BJ">北京</option>
            <option value="SH">上海</option>
            <option value="SZ">深圳</option>
            <option value="HZ">杭州</option>
        </select>
        <br />
        <br />
        <!-- 单选框:多个当中只能选择⼀个 ,v-model需要找value, 需要给单选框手动添加 value 属性 -->
         <!-- 由于input没有紧密联系的父标签, 所以需要每个标签都加上v-model -->
        <input type="radio" value="a" v-model="blood" />A
        <input type="radio" value="b" v-model="blood" />B
        <input type="radio" value="ab" v-model="blood" />AB
        <input type="radio" value="o" v-model="blood" />O
        <br />
        <br />
        <!-- 复选框, 如果只有一个复选框, v-model绑定布尔值, 关联复选框的checked属性 -->
        <!-- 如果有多个, v-model绑定数组, 关联复选框的value属性 ,需要手动添加 value 属性 -->
        <input type="checkbox" v-model="isAgree" />是否同意用户协议
        <br />
        <br />
        <input v-model="hobby" type="checkbox" value="LQ" />篮球
        <input v-model="hobby" type="checkbox" value="ZQ" />足球
        <input v-model="hobby" type="checkbox" value="YMQ" />⽻⽑球
        <input v-model="hobby" type="checkbox" value="PPQ" />乒乓球
        <br />
        <input v-model="hobby" type="checkbox" value="PB" />跑步
        <input v-model="hobby" type="checkbox" value="YY" />游戏
        <input v-model="hobby" type="checkbox" value="PLT" />普拉提
        <input v-model="hobby" type="checkbox" value="LDW" />拉丁舞
    </div>
</template>
<style scoped></style>

【总结】

v-model如何收集下拉列表的值?

v-model写在select上, 关联是选中option的`value`

v-model如何收集单选框的值? 

给单选框添加value属性, v-model收集选中单选框的value

v-model作用在复选框上要注意什么?

一个复选框, v-model绑定布尔值 , 关联 checked 属性

一组复选框, v-model绑定数组, 关联 value 属性, 给复选框手动添加 value

【样式绑定】

为了方便开发者进行样式控制, Vue 扩展了 v-bind 的语法, 可以针对 class 类名 和 style 行内样式 两个属性进行控制, 进而通过数据控制元素的样式

【操作class】

语法  :class = "三元表达式 / 对象"

三元绑定时:  :class = "条件 ?类名1 : 类名2"

对象绑定时:  :class = "{ 类名1:布尔值1  ,  类名2:布尔值2  .....}" (布尔为true时, 添加类名, 否则移除)

【操作style】

 语法 <div class="box" :style="{ CSS属性名1: CSS属性值, CSS属性名2: CSS属性值 }"></div>

【计算属性】

基于现有的数据, 通过计算得到的新数据, 当现有的数据变化时,会自动重新计算。

语法: 使用 computed 函数,计算得到⼀个新数据进行展示(需要按需导入 computed 函数)

礼物总数会随着所有礼物的数量变动而发生实时变动

js中获取计算属性: 计算属性.value 

模板中使用计算属性:{{ 计算属性 }} 或 配合指令

【计算属性相比于普通函数的优势】

计算属性的方法无论调用多少次, 都只会执行一次, 这是因为在首次执行时, 它已经把结果缓存到内存中, 二次继续执行时, 发现依赖(即用于计算属性的参数)没有变化, 因此不会去继续缓存,而是直接读取缓存

这可以节省开销, 提高效率

【计算属性的完整写法】

上述中展示的是计算属性的默认简易写法, 它是只读的, 不能直接改, 只能通过修改依赖的方式进行修改

可以使用完整写法来让其可以被直接改

如:

【侦听器】

监视响应式数据的变化, 当数据变了。 就可以执行DOM操作或异步操作

比如监视搜索框打字后弹出的一系列关键字的变化, 变了后就可以用最新的关键字发送对应的请求

语法: 使用 watch函数(需要按需导入 watch函数)

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

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

相关文章

LLM 笔记:Speculative Decoding 投机采样

1 基本介绍 投机采样&#xff08;Speculative Sampling&#xff09;是一种并行预测多个可能输出&#xff0c;然后快速验证并采纳正确部分的加速策略 在不牺牲输出质量的前提下&#xff0c;减少语言模型生成 token 所需的时间 传统的语言模型生成是 串行 的 必须生成一个&…

当SAP系统内计划订单转换为生产订单时发生了什么?

【SAP系统研究】 #SAP #计划订单 #生产订单 #采购申请 一、关于计划订单的一点疑惑 曾经对SAP为什么会有计划订单,是感到很疑惑的。 这个界面简单,配置点也不多,能被随意“摆布”,一旦要变形就消失得无影无踪的计划订单,why? 但是,再次重新审视过之后,才发现它其实…

PDF转PPT转换方法总结

你是否遇到过这些场景&#xff1f; 收到客户发来的产品手册PDF&#xff0c;明天就要用它做演示&#xff1b; 公司历史资料只有PDF版&#xff0c;领导突然要求更新为幻灯片。 这时PDF转PPT工具就成了救命稻草。接下来&#xff0c;介绍三种PDF转PPT工具。 1. iLoveOFD在线转换…

3D Web轻量化引擎HOOPS Communicator的定制化能力全面解析

HOOPS Communicator 是Tech Soft 3D推出的高性能Web工程图形引擎。它通过功能丰富的JavaScript API&#xff0c;帮助开发团队在浏览器中快速添加2D/3D CAD模型的查看与交互功能。该引擎专为工程应用优化&#xff0c;支持大规模模型的流畅浏览、复杂装配的智能导航、流式加载和服…

【力扣链表篇】19.删除链表的倒数第N个节点

题目&#xff1a; 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5]示例 2&#xff1a; 输入&#xff1a;head [1], n 1 输出&#xff1a;[]…

如何使用Jmeter进行压力测试?

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、什么是压力测试 软件测试中&#xff1a;压力测试&#xff08;Stress Test&#xff09;&#xff0c;也称为强度测试、负载测试。压力测试是模拟实际应用的软硬…

Grafana-ECharts应用讲解(玫瑰图示例)

工具: MySQL 数据库 MySQL Workbench 数据库管理工具(方便编辑数据) Grafana v11.5.2 Business Charts 6.6(原 Echarts插件) 安装 安装 MySQL社区版安装 MySQL Workbench安装 Grafana在 Grafana 插件中搜索 Business Charts 进行安装以上安装步骤网上教程很多,自行搜…

前端vue3 上传/导入文件 调用接口

点击按钮导入&#xff1a; <el-uploadaction"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15":auto-upload"false":on-change"handleFileChange":show-file-list"false"><el-button type"warning"…

Python训练营-Day22-Titanic - Machine Learning from Disaster

Description linkkeyboard_arrow_up &#x1f44b;&#x1f6f3;️ Ahoy, welcome to Kaggle! You’re in the right place. This is the legendary Titanic ML competition – the best, first challenge for you to dive into ML competitions and familiarize yourself w…

FreeCAD:开源世界的三维建模利器

FreeCAD 开发模式 FreeCAD的开发采用多语言协作模式&#xff0c;其核心框架与高性能模块主要使用C构建&#xff0c;而用户界面与扩展功能则通过Python脚本实现灵活定制。具体来说&#xff1a; C核心层&#xff1a;作为基础架构&#xff0c;C负责实现与Open CASCADE Technology…

嵌入式里的时间魔法:RTC 与 BKP 深度拆解

文章目录 RTC实时时钟与BKPUnix时间戳UTC/GMT时间戳转换时间戳转换BKP简介BKP基本结构1. 电池供电模块&#xff08;VBAT 输入&#xff09;2. 侵入检测模块&#xff08;TAMPER 输入&#xff09;3. 时钟输出模块&#xff08;RTC 输出&#xff09;4. 内部寄存器组 RTC简介RTC时钟源…

图卷积网络:从理论到实践

图卷积网络&#xff08;Graph Convolutional Networks, GCNs&#xff09;彻底改变了基于图的机器学习领域&#xff0c;使得深度学习能够应用于非欧几里得结构&#xff0c;如社交网络、引文网络和分子结构。本文将解释GCN的直观理解、数学原理&#xff0c;并提供代码片段帮助您理…

ES 学习总结一 基础内容

ElasticSearch学习 一、 初识ES1、 认识与安装2、 倒排索引2.1 正向索引2.2 倒排索引 3、 基本概念3.1 文档和字段3.2 索引和倒排 4 、 IK分词器 二、 操作1、 mapping 映射属性2、 索引库增删改查3、 文档的增删改查3.1 新增文档3.2 查询文档3.3 删除文档3.4 修改文档3.5 批处…

Maven 构建缓存与离线模式

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探…

基于51单片机的光强控制LED灯亮灭

目录 具体实现功能 设计介绍 资料内容 全部内容 资料获取 具体实现功能 具体功能&#xff1a; &#xff08;1&#xff09;按下按键K后光敏电阻进行光照检测&#xff0c;LCD1602显示光照强度值&#xff1b; &#xff08;2&#xff09;光照值小于15时&#xff0c;上面2个LE…

【Linux操作系统】基础开发工具(yum、vim、gcc/g++)

文章目录 Linux软件包管理器 - yumLinux下的三种安装方式什么是软件包认识Yum与RPMyum常用指令更新软件安装与卸载查找与搜索清理缓存与重建元数据 yum源更新1. 备份现有的 yum 源配置2. 下载新的 repo 文件3. 清理并重建缓存 Linux编辑器 - vim启动vimVim 的三种主要模式常用操…

【Survival Analysis】【机器学习】【3】 SHAP可解釋 AI

前言&#xff1a; SHAP&#xff08;SHapley Additive explanations) 是一种基于博弈论的可解释工具。 现在很多高分的 论文里面都会带这种基于SHAP 分析的图&#xff0c;用于评估机器学习模型中特征对预测结果的贡献度. pip install -i https://pypi.tuna.tsinghua.edu.cn/sim…

ModuleNotFoundError No module named ‘torch_geometric‘未找到

ModuleNotFoundError: No module named torch_geometric’未找到 试了很多方法&#xff0c;都没成功&#xff0c;安装torch对应版本的torch_geometric都不行&#xff0c; 后来发现是pip被设置了环境变量&#xff0c;所有pip文件都给安装在了一个文件夹了 排查建议 1. 检查 p…

Cell-o1:强化学习训练LLM解决单细胞推理问题

细胞类型注释是分析scRNA-seq数据异质性的关键任务。尽管最近的基础模型实现了这一过程的自动化&#xff0c;但它们通常独立注释细胞&#xff0c;未考虑批次水平的细胞背景或提供解释性推理。相比之下&#xff0c;人类专家常基于领域知识为不同细胞簇注释不同的细胞类型。为模拟…

vue3: bingmap using typescript

项目结构&#xff1a; <template><div class"bing-map-market"><!-- 加载遮罩层 --><div class"loading-overlay" v-show"isLoading || errorMessage"><div class"spinner-container"><div class&qu…