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

vue 模板语法值class操作

class.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>class</title><!-- 确保引入正确的Vue版本库,下面只是示例,需要替换为实际可工作的CDN地址 --><script src="../vue 初识/vue.js"></script><style>.c1{color: red;background: #03e9f4;}.c2{font-family: "Times New Roman";font-size: 33px;font-style: italic;}.c3{text-align: center;}</style></head>
<body>
<div id="cp"><!--对click进行动作监听,一旦有动作则触发styleC*函数动作--><p><button @click="styleC1">c1样式</button></p><p><button @click="styleC2">c2样式</button></p><!-- 使用动态类和数据绑定来显示内容 --><p :class="clas">{{wz}}</p><!--vue显式表达,优先级最高--><p :class="{c1:true,c2:false}">{{wz}}</p><!--支持使用数组的方式进行样式对象的使用--><p :class="[{c1:true,c2:true},{c3:true}]">{{wz2}}</p>
</div><script>const app = {data() {return {clas: {c1:false,c2:true},wz: "hello world!!",wz2:"yuan"}},/*定义方法methods*/methods:{styleC1(){//如果结果为真则返回false,再次点击如果为flase则返回trueif (this.clas.c1){this.clas.c1=false}else{this.clas.c1=true}},styleC2(){if (this.clas.c2){this.clas.c2=false}else{this.clas.c2=true}}}}vm=Vue.createApp(app).mount('#cp')// 打印日志console.log("vm",vm)
</script>
</body>
</html>

对该代码可以进行优化:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>class</title><!-- 确保引入正确的Vue版本库,下面只是示例,需要替换为实际可工作的CDN地址 --><script src="../vue 初识/vue.js"></script><style>.c1{color: red;background: #03e9f4;}.c2{font-family: "Times New Roman";font-size: 33px;font-style: italic;}.c3{text-align: center;}</style></head>
<body>
<div id="cp"><!--对click进行动作监听,一旦有动作则触发styleC*函数动作--><p><button @click="styleC1">c1样式</button></p><p><button @click="styleC2">c2样式</button></p><!-- 使用动态类和数据绑定来显示内容 --><p :class="clas">{{wz}}</p><!--vue显式表达,优先级最高--><p :class="{c1:true,c2:false}">{{wz}}</p><!--支持使用数组的方式进行样式对象的使用--><p :class="[{c1:true,c2:true},{c3:true}]">{{wz2}}</p>
</div><script>const app = {data() {return {clas: {c1:false,c2:true},wz: "hello world!!",wz2:"yuan"}},/*定义方法methods*/methods:{styleC1(){this.clas.c1 = !this.clas.c1},styleC2(){this.clas.c2 = !this.clas.c2}}}vm=Vue.createApp(app).mount('#cp')// 打印日志console.log("vm",vm)
</script>
</body>
</html>

使用Vue进行了一段简单的应用开发,包括用Vue处理类绑定和事件监听。对于您提出的关于 <p :class="{c1:true,c2:false}">{{wz}}</p> 中类(class)绑定的优先级问题,实际上在这种情况下,提到的“优先级”概念需要有所区分。

在Vue中,:class 的使用方式决定了类是如何动态绑定到元素上的。在案例中:

  1. <p :class="clas">{{wz}}</p> 这里 clas 是根据组件的数据(data)动态变化的,这意味着其实际的类绑定是依赖于组件状态(这里是 clas.c1clas.c2 的值)。

  2. <p :class="{c1:true,c2:false}">{{wz}}</p> 直接在模板中定义了一个静态的对象 {c1:true,c2:false},这意味着 c1 类始终会被绑定到该元素上,而 c2 类则不会。

在这种情况下,说哪个“优先级”更高可能不是完全准确的,因为它们控制的是不同元素的类。每个绑定只控制它所绑定元素的类,根据应用状态(通过方法修改)来动态改变第一个 <p> 标签的类,而第二个 <p> 标签的类始终不变(因为它是硬编码的,不会受到组件状态的影响)。

然而,如果是在相同的元素上同时使用这两种绑定方式,Vue会尽量合并这些绑定。如果有冲突,对象绑定形式(如::class="{c1:true,c2:false}")中硬编码的值优先于通过数据决定的绑定值。这是因为Vue将尝试在内部合并这些类,但直接在模板中定义的类的具体值(在这里是 {c1:true,c2:false})会直接覆盖数据(data)中相同键的值。

所以,如果在同一元素上有冲突的情况,模板内直接定义的绑定方式在效果上相当于具有“更高的优先级”

相关文章:

vue 模板语法值class操作

class.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>class</title><!-- 确保引入正确的Vue版本库&#xff0c;下面只是示例&#xff0c;需要替换为实际可工作的CDN地址 --><sc…...

MySQL的原生API实现插入数据后在可视化工具上不显示的问题解决

显示表中有两行数据&#xff0c;该表也设置了主键和唯一索引 点进表里看却没有数据 问题原因出现在这里&#xff0c;虽然很多常用的数据库连接池都会开启自动提交&#xff0c;但ibatis的SqlSession使用sessionFactory.openSession()创建时&#xff0c;默认的自动提交是false&am…...

Blender教程(基础)-内插面、分离、环切、倒角-08

一、内插面 菜单位置如下图位置。 单击需要处理的面&#xff0c;出现一个黄色的圈。 1、菜单选中内插 鼠标悬停在黄色圈内单击左键可以来回实现内插&#xff0c;但是发现并不好操作。 2、快捷键内插 在选中需要操作的面之后&#xff0c;鼠标移动到外面&#xff0c;键盘在英…...

Unity 自动轮播、滑动轮播

如图所示&#xff0c;可设置轮播间隔&#xff0c;可左右滑动进行轮播 1.在UGUI创建个Image&#xff0c;添加自动水平组件 2.添加并配置脚本 3.代码如下&#xff0c;都有注释 using UnityEngine; using UnityEngine.UI;public class IndicatorManager : MonoBehaviour {public …...

纯html+js+css个人博客

首页 <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8"><title>主页</title><!-- 引入layui css文件 --><link rel"stylesheet" href"layui-…...

二百二十一、HiveSQL报错:return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

一、目的 在运行HiveSQL时&#xff0c;执行报错 tatement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask 二、在yarn上查看任务报错 The required MAP capability is more than the supported max container capability in t…...

JavaEE学习笔记 2024-1-25 --VUE的入门使用

上一篇 个人整理非商业用途&#xff0c;欢迎探讨与指正&#xff01;&#xff01; 文章目录 14.VUE基础14.1VUE的入门使用14.2条件判断14.3循环渲染14.4v-bind绑定标签属性14.5v-model表单标签的双向绑定14.6事件处理14.7axios 14.VUE基础 前端框架 UI框架:页面渲染Bootstrap,L…...

php-fpm详细讲解

PHP-FPM&#xff08;FastCGI Process Manager&#xff09;是PHP的一种运行模式&#xff0c;用于处理动态HTTP请求。 它与传统的模块式PHP&#xff08;如Apache模块&#xff09;相比&#xff0c;将PHP解析和执行过程单独封装为一个独立的进程池&#xff0c;通过FastCGI协议与We…...

小白水平理解面试经典题目LeetCode 455 Assign Cookies【Java实现】

455 分配cookies 小白渣翻译&#xff1a; 假设你是一位很棒的父母&#xff0c;想给你的孩子一些饼干。但是&#xff0c;你最多应该给每个孩子一块饼干。 每个孩子 i 都有一个贪婪因子 g[i] &#xff0c;这是孩子满意的 cookie 的最小大小&#xff1b;每个 cookie j 都有一个…...

uniapp 问题汇总-问题数(2)

ios scroll-view无法滚动 使用uview折叠面板嵌套scroll-view 嵌套之后安卓可以滚动&#xff0c;ios无法滚动 <u-collapse accordion opencollapseOpen changecollapseChange ref"uCollapse" :valueuCollapseValue><u-collapse-item :nameindex :title&quo…...

[AG32VF407]国产MCU+FPGA Verilog编写控制2路gpio输出不同频率方波实验

视频讲解 [AG32VF407]国产MCUFPGA Verilog编写控制2路gpio输出不同频率方波实验 实验过程 根据原理图&#xff0c;选择两个pin脚作为输出 修改VE文件&#xff0c;clk选择PIN_OSC&#xff0c;使用内部晶振8Mhz&#xff0c;gpio使用PIN_51和52&#xff0c;pinout是数组 添加pll…...

python coding with ChatGPT 打卡第15天| 二叉树:翻转二叉树、对称二叉树

相关推荐 python coding with ChatGPT 打卡第12天| 二叉树&#xff1a;理论基础 python coding with ChatGPT 打卡第13天| 二叉树的深度优先遍历 python coding with ChatGPT 打卡第14天| 二叉树的广度优先遍历 文章目录 翻转二叉树Key Points相关题目视频讲解重点分析递归遍历…...

Python(19)Excel表格操作Ⅰ

目录 导包 读取EXCEL文件 1、获取worksheet名称 2、设定当前工作表 3、输出目标单元格数据 4、工作表.rows&#xff08;行&#xff09; 5、工作表.columns&#xff08;列&#xff09; 小结 导包 要想使用 python 操作 Excel 文件&#xff0c;应当导入 openpyxl 包。在…...

HiveSQL题——聚合函数(sum/count/max/min/avg)

目录 一、窗口函数的知识点 1.1 窗户函数的定义 1.2 窗户函数的语法 1.3 窗口函数分类 聚合函数 排序函数 前后函数 头尾函数 1.4 聚合函数 二、实际案例 2.1 每个用户累积访问次数 0 问题描述 1 数据准备 2 数据分析 3 小结 2.2 各直播间最大的同时在线人数 …...

计算机是什么做的

背景 虽然我是科班出身的&#xff0c;但是上大学时候&#xff0c;对这些内容并不感兴趣&#xff0c;只是简单的进行做题&#xff0c;考试而已。并没有思考&#xff0c;为啥学计算机组成原理&#xff0c;模电数电&#xff0c;微机原理&#xff0c;单片机&#xff0c;操作系统啥…...

C++多线程1(复习向笔记)

创建线程以及相关函数 当用thread类创建线程对象绑定函数后&#xff0c;该线程在主线程执行时就已经自动开始执行了,join起到阻塞主线程的作用 #include <iostream> #include <thread> #include <string> using namespace std; //测试函数 void printStrin…...

代理IP在游戏中的作用有哪些?

游戏代理IP的作用是什么&#xff1f;IP代理软件相当于连接客户端和虚拟服务器的软件“中转站”&#xff0c;在我们向远程服务器提出需求后&#xff0c;代理服务器首先获得用户的请求&#xff0c;然后将服务请求转移到远程服务器&#xff0c;然后将远程服务器反馈的结果转移到客…...

SVN Previous operation has not finished; run ‘cleanup‘ if it was interrupted

SVN cleanup出现下面的提示&#xff1a; svn: E155017: Can’t install ‘*’ from pristine store, because no checksum is recorded for this file svn报错&#xff1a;“Previous operation has not finished; run ‘cleanup’ if it was interrupted“ 解决办法  当遇到…...

MATLAB知识点:MATLAB的文件管理

​讲解视频&#xff1a;可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇&#xff08;数学建模清风主讲&#xff0c;适合零基础同学观看&#xff09;_哔哩哔哩_bilibili 节选自第2章 上一章我们说过&#xff0c;MATLAB是一款非常强…...

【深度学习】MNN ImageProcess处理图像顺序,逻辑,均值,方差

文章目录 介绍Opencv numpy等效的MNN处理 介绍 MNN ImageProcess处理图像是先reisze还是后resize&#xff0c;均值方差怎么处理&#xff0c;是什么通道顺序&#xff1f;这篇文章告诉你答案。 Opencv numpy 这段代码是一个图像预处理函数&#xff0c;用于对输入的图像进行一系…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

探索Selenium:自动化测试的神奇钥匙

目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...

MyBatis中关于缓存的理解

MyBatis缓存 MyBatis系统当中默认定义两级缓存&#xff1a;一级缓存、二级缓存 默认情况下&#xff0c;只有一级缓存开启&#xff08;sqlSession级别的缓存&#xff09;二级缓存需要手动开启配置&#xff0c;需要局域namespace级别的缓存 一级缓存&#xff08;本地缓存&#…...

【UE5 C++】通过文件对话框获取选择文件的路径

目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 &#xff0c;这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器&#xff0c;右键点击 .uproject 文件&#xff0c;选择 "Generate Visual Studio project files"&#xff0c;重…...