資料綁定一個常見需求是操作元素的 class 清單和它的內聯樣式。因為它們都是 attribute,我們可以用 v-bind 處理它們:只需要計算表達式最終的字串。不過,字串拼接麻煩又易錯。因此,當 v-bind 用於 class 和 style 時,Vue.js 專門增強了它。表達式的結果類型除了字串之外,還可以是物件或陣列。
一.綁定Class屬性。
綁定資料用v-bind:指令,簡寫成:
語法:
。 class後面的雙引號裡接受一個物件字面量/物件參考/陣列作為參數,這裡,{active: isActive}是物件參數,active是class名稱,isActive是一個布林值。以下是一個例子:
綁定物件字面量
html:
<div id="classBind"> <span :class="{warning:isWarning,safe:isSafe}" v-on:click="toggle"> 状态:{{alert}}{{isSafe}} </span> </div> //js var app11=new Vue({ el:'#classBind', data:{ isWarning:true, alertList:['红色警报','警报解除'], alert:'' }, computed:{ isSafe:function(){ return !this.isWarning; } }, methods:{ toggle:function(){ this.isWarning=!this.isWarning; this.alert= this.isWarning?this.alertList[0]:this.alertList[1]; } } });
css:
.warning{ color:#f24; } .safe{ color:#42b983; }
後
文字?狀態:警報解除true
//狀態:紅色警報false
綁定物件參考
這裡綁定的物件可以寫到Vue實例的data裡面,而在class="classObj ",雙引號中的class是對Vue實例中classObj物件的參考。 classObj可以放在data中或computed中,如果在computed中,則classObj所對應的函數必須回傳一個物件如下:
js:
var app11=new Vue({ el:'#classBind', data:{ isWarning:true, alertList:['红色警报','警报解除'], alert:'' }, computed: { isSafe: function () { return !this.isWarning; }, classObj:function(){ return { warning: this.isWarning, safe:this.isSafe } } }, methods:{ toggle:function(){ this.isWarning=!this.isWarning; this.alert= this.isWarning?this.alertList[0]:this.alertList[1]; } } });
:
js
<div v-bind:class="classArray" @click="removeClass()">去掉class</div>
css:
data: { classArray:["big",'red'] } methods:{ removeClass:function(){ this.classArray.pop(); } }
花效果,點去掉個去掉另一台尺寸,會調用最後一檔紅色變黑,再點,去掉'big',字體變小。
二、綁定內聯style
此時此刻,我一邊看著本頁旁邊的那個Vue api文檔學,一邊到這裡賣,裝逼的感覺真爽o(^▽^)o
html
.big{ font-size:2rem; } .red{ color:red; }
css
這個不需要css。 。 。
js
<div id="styleBind"> <span :style="{color:theColor,fontSize:theSize+'px'}" @click="bigger">styleBind</span> </div>
除了傳入物件字面量以外,也可以傳入物件引用、陣列給V-bind:style

VueUse 是 Anthony Fu 的一个开源项目,它为 Vue 开发人员提供了大量适用于 Vue 2 和 Vue 3 的基本 Composition API 实用程序函数。本篇文章就来给大家分享几个我常用的几个 VueUse 最佳组合,希望对大家有所帮助!

Vue3如何更好地使用qrcodejs生成二维码并添加文字描述?下面本篇文章给大家介绍一下Vue3+qrcodejs生成二维码并添加文字描述,希望对大家有所帮助。

如何使用VueRouter4.x?下面本篇文章就来给大家分享快速上手教程,介绍一下10分钟快速上手VueRouter4.x的方法,希望对大家有所帮助!

本篇文章给大家整理分享8个GitHub上很棒的的 Vue 项目,都是非常棒的项目,希望当中有您想要收藏的那一个。

本篇文章带大家聊聊vue指令中的修饰符,对比一下vue中的指令修饰符和dom事件中的event对象,介绍一下常用的事件修饰符,希望对大家有所帮助!

如何覆盖组件库样式?下面本篇文章给大家介绍一下React和Vue项目中优雅地覆盖组件库样式的方法,希望对大家有所帮助!


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver Mac版
視覺化網頁開發工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 Linux新版
SublimeText3 Linux最新版