Vue基礎知識-Vue中:class與:style動態綁定樣式

完整源碼

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="../js/vue.js"></script>
</head>
<body><div id="root"> <!--class字符串寫法--><div class="basic" :class="str">你好</div><br><br><!--class數組寫法--><div class="basic" :class="classArr">你好</div><br><br><input type="button" @click="bigFont"  value='字體變大'></button><br><br><!--class對象寫法--><div class="basic" :class="classObj">你好</div><br><br><input type="button" @click="backgroundColor"  value='背景變色'></button><br><br><!--style對象寫法,數組寫法比較少這里不介紹--><div class="basic" :style="styleObj">你好</div><br><br><input type="button" @click="changeFontSize"  :value='isSmall?"字體變大":"字體變小"' /></div>
</body><script>const vm = new Vue({el:'#root',data() {return {str:'smallFont',classArr:[],classObj:{backgroundColor:false //false表示不使用該class},styleObj:{fontSize : ''},isSmall:false}},methods: {bigFont(){this.classArr.push('bigFont')},backgroundColor(e){this.classObj.backgroundColor = !this.classObj.backgroundColorthis.classObj.backgroundColor?e.target.value = '恢復原色':e.target.value = '背景變色'},changeFontSize(){this.isSmall = !this.isSmallif(this.isSmall) this.styleObj.fontSize = '15px'else this.styleObj.fontSize = '30px'}}})</script><style>.basic{font-size: 30px;color: red;}.smallFont{font-size: 15px;}.bigFont{font-size: 50px;}.backgroundColor{background-color: aqua;}</style>
</html>

代碼解析

1. 動態綁定 class 的三種方式

(1)字符串寫法
<div class="basic" :class="str">你好</div>
  • 特點:通過字符串指定類名,適用于類名不確定的場景
  • 原理:str的值為smallFont,初始時會在basic類基礎上添加smallFont
(2)數組寫法
<div class="basic" :class="classArr">你好</div>
<input type="button" @click="bigFont" value='字體變大'>
  • 特點:通過數組存儲多個類名,適用于需要動態添加類名的場景
  • 原理:點擊按鈕時,調用bigFont方法向classArr數組中添加bigFont
(3)對象寫法
<div class="basic" :class="classObj">你好</div>
<input type="button" @click="backgroundColor" value='背景變色'>
  • 特點:通過對象的鍵值對(鍵為類名,值為布爾值)控制類是否生效,適用于樣式切換場景
  • 原理:點擊按鈕時切換classObj.backgroundColor的值(true/false),控制backgroundColor類是否生效

2. 動態綁定 style 的方式

<div class="basic" :style="styleObj">你好</div>
<input type="button" @click="changeFontSize" :value='isSmall?"字體變大":"字體變小"' />
  • 特點:通過對象直接綁定行內樣式,適用于需要動態設置具體樣式值的場景
  • 原理:點擊按鈕時切換isSmall的值,根據其值設置styleObj.fontSize的具體大小

3. 小結

  • :class:style是 Vue 的指令,用于動態綁定樣式
  • 靜態類(如basic)和動態類可以同時存在
  • 樣式切換的核心是通過修改數據(data 中的屬性)來驅動視圖變化
  • class 綁定適用于預定義的 CSS 類,style 綁定適用于需要動態計算的樣式值

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/97872.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/97872.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/97872.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

終于趕在考試券過期前把Oracle OCP證書考下來了!

&#x1f6a9; 今天終于能松口氣了——Oracle OCP證書到手&#xff01; 差點白白浪費一次考試機會&#xff08;1700&#xff09;&#xff01;3月底報名了Oracle OCP&#xff0c;擺爛了大半年&#xff0c;終于是逼著自己在考試券過期前考完了082和083科目&#xff0c;目前已經順…

Power BI學習筆記-周報銷售數據分析

Power BI學習筆記-周報銷售數據分析 簡介 來自B站的Power BI學習視頻的學習筆記。 記錄來自B站的Power BI教學視頻&#xff0c;由“高級財務BP-Ni”發布&#xff0c;視頻發布者主要發布財務類相關的PBI視頻&#xff0c;視頻長度30分鐘左右。 視頻鏈接&#xff1a; 【powerbi周報…

Oracle 數據庫與操作系統兼容性指南

前言 作為一個在 Oracle 坑里摸爬滾打多年的老 DBA&#xff0c;最怕聽到的就是"這個版本能不能裝在這個系統上&#xff1f;"這種問題。昨天又有朋友來問我 Oracle 數據庫和操作系統的兼容性&#xff0c;索性把這些年積累的官方兼容性列表整理出來&#xff0c;省得大家…

pytorch初級

本文章是本人通過讀《Pytorch實用教程》第二版做的學習筆記&#xff0c;深度學習的核心部分&#xff1a;數據準備 ?? 模型構建 ?? 模型訓練 ?? 模型評估與應用。根據上面的思路&#xff0c;我們分為幾個部分&#xff1a; 第一部分&#xff1a;PyTorch 基礎 - 涵蓋了從基本…

UniApp 混合開發:Plus API 從基礎到7大核心場景實戰的完整指南

在 UniApp 混合開發中&#xff0c;plus API 是連接前端代碼與原生設備能力的核心橋梁。基于 5 Runtime&#xff0c;它封裝了設備硬件、系統交互、網絡通信等近百種原生能力&#xff0c;解決了 UniApp 跨端 API 覆蓋不足的問題。但直接使用 plus API 常面臨兼容性復雜、回調嵌套…

本周難點問題詳細總結

&#x1f4cb; 本周技術問題總結 &#x1f534; 1. 表單校驗與用戶體驗 1.1 表單錯誤提示不規范 問題&#xff1a;校驗失敗時缺少頁面標識位置&#xff1a;SupplierForm.vue:375代碼示例&#xff1a;message.error([基本信息] 表單校驗失敗&#xff0c;請檢查必填字段)影響&…

下一代自動駕駛汽車系統XIL驗證方法

摘要自動駕駛汽車測試仍是一個新興且尚未成熟的過程&#xff0c;全球統一的測試流程尚需時日。實車測試對資源要求極高&#xff0c;因此開發并提升基于虛擬環境的測試方法的效率至關重要。有鑒于此&#xff0c;本文提出一種新穎的 X-in-the-Loop&#xff08;XIL&#xff0c;X 代…

視頻數據如何聯網共享?

視頻數據如何聯網共享&#xff1f; 視頻聯網共享系統&#xff0c;實現前端設備的接入管理以及接入數據的獲取。前端設備包括視頻設備、卡口設備、Wifi數據采集設備、移動采集設備以及GPS/北斗數據采集設備等。系統實現海量視頻數據的快速檢索&#xff0c;并為上層數據應用提供視…

Django項目開發全鏈路:數據庫操作、多環境配置、windows/linux項目部署一站式指南

Django項目開發全鏈路:數據庫操作、多環境配置、windows/linux項目部署一站式指南 一、項目初始化 二、創建第一個應用 三、數據庫與數據模型的應用 四、創建管理后臺用戶 五、數據模型與數據庫交互之添加 六、數據模型與數據庫交互之修改 七、數據模型與數據庫交互之查詢 八、…

GLib多線程編程實踐:從數據結構到線程池的完整指南

引言 GLib是一個功能豐富、跨平臺的C程序庫,提供了大量高效且經過充分測試的數據結構與算法接口。本文將通過一個完整的實踐案例,介紹如何使用GLib實現動態數組、鏈表、平衡二叉樹和線程池,并分享在實際開發中遇到的常見問題及解決方案。 一、GLib核心數據結構實踐 1.1 動…

LiteFlow:國產流程編排引擎體驗

文章目錄一、寫在前面二、使用1、Springboot集成2、組件3、表達式4、上下文5、執行器6、腳本組件7、規則配置源8、元數據管理9、異步中的線程池10、動態構造11、決策路由12、生命周期13、其他三、總結一、寫在前面 就不做過多介紹了。 官網&#xff1a;https://liteflow.cc/ …

Linux學習:生產者消費者模型

目錄1. 生產者消費者模型的相關概念1.1 什么是生產者消費者模型1.2 生產者消費者模型的優勢作用2. 多線程簡單實現生產者消費者模型2.1 設計方案2.2 代碼實現2.2.1 線程類2.2.2 BlockQueue類2.2.3 任務類2.2.4 主干代碼1. 生產者消費者模型的相關概念 1.1 什么是生產者消費者模…

《深度學習》卷積神經網絡:數據增強與保存最優模型解析及實現

目錄 一、數據增強 1. 核心概念 2. 核心目的 3. 常用方法 4. 實現示例&#xff08;基于 PyTorch&#xff09; 5. 自定義數據集加載 二、保存最優模型 1. 核心概念 2. 實現步驟 &#xff08;1&#xff09;定義 CNN 模型 &#xff08;2&#xff09;定義訓練與測試函數…

tcpdump用法

tcpdump用法tcpdump一、什么是tcpdump二、命令格式與參數三、參數列表四、過濾規則組合邏輯運算符過濾器關鍵字理解 Flag 標識符五、常用例子tcpdump 一、什么是tcpdump 二、命令格式與參數 option 可選參數&#xff1a;將在后邊一一解釋。 proto 類過濾器&#xff1a;根據協…

平衡車 - 電機調速

&#x1f308;個人主頁&#xff1a;羽晨同學 &#x1f4ab;個人格言:“成為自己未來的主人~” 在我們的這篇文章當中&#xff0c;我們主要想要實現的功能的是電機調速功能。在我們的這篇文章中&#xff0c;主要實現的是開環的功能&#xff0c;而非閉環&#xff0c;也就是不加…

從利潤率看價值:哪些公司值得長期持有?

&#x1f4a1; 為什么盯緊利潤率&#xff1f; 投資者常常盯著營收增長&#xff0c;卻忽略了一個更關鍵的指標——利潤率。 收入可以靠規模“堆”出來&#xff0c;但利潤率卻是企業護城河的真實體現。心理學研究表明&#xff1a;當一個產品或服務被消費者認定為“不可替代”&a…

小迪web自用筆記25

傳統文件上傳&#xff1a;上傳至服務器本身硬盤。云存儲&#xff1a;借助云存儲oss對象存儲&#xff08;只能被訪問&#xff0c;不可解析&#xff09;Oss云存儲Access key與Access ID&#xff1a;有了這兩個東西之后就可以操作云存儲&#xff0c;可以向里面發數據了。這玩意兒泄…

分發餅干——很好的解釋模板

好的&#xff0c;孩子&#xff0c;我們來玩一個“喂餅干”的游戲。 0. 問題的本質是什么&#xff1f; 想象一下&#xff0c;你就是個超棒的家長&#xff0c;手里有幾塊大小不一的餅干&#xff0c;而面前有幾個餓著肚子的小朋友。每個小朋友都有一個最小的“胃口”值&#xff0c…

場景題:如果一個大型項目,某一個時間所有的CPU的已經被占用了,導致服務不可用,我們開發人員應該如何使服務器盡快恢復正常

問&#xff1a;如果一個大型項目,某一個時間所有的CPU的 已經被占用了&#xff0c;導致服務不可用&#xff0c;我們開發人員 應該如何使服務器盡快恢復正常答&#xff1a;應對CPU 100%導致服務不可用的緊急恢復流程面試官&#xff0c;如果遇到這種情況&#xff0c;我會立即按照…

Docker 安裝 RAGFlow保姆教程

前提條件 Ubuntu 服務器(20.04 或 22.04 LTS 推薦) 已安裝 Docker 和 Docker Compose 如果尚未安裝,請先運行以下命令:# 安裝 Docker curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh # 將當前用戶加入 docker 組,避免每次都要 sudo sudo user…