电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

vue綁定class的三種方法

瀏覽:5日期:2022-10-16 16:39:06
一、對象語法1、給v-bind:class 設(shè)置一個(gè)對象,可以動(dòng)態(tài)地切換class,例如:

<div id='app'> <div :class='{’active’:isActive}'></div></div><script>var app = new Vue({ el:’#app’, data:{ isActive:true }})</script>

最終渲染結(jié)果:

<div class='active'></div>2、對象中也可以傳入多個(gè)屬性,來動(dòng)態(tài)切換class。另外,:class可以與普通class共存,例如:

<div id='app'> <div :class='{’active’:isActive,’error’:isError}'></div></div><script>var app = new Vue({ el:’#app’, data:{ isActive:true, isError:false }})</script>

最終渲染結(jié)果(當(dāng)數(shù)據(jù)isActive或isError變化時(shí),對應(yīng)的class也會(huì)更新):

<div class='static active'></div>

3、當(dāng):class的表達(dá)式過長或邏輯復(fù)雜時(shí),還可以綁定一個(gè)計(jì)算屬性,這是一種友好和常見的用法,一般當(dāng)條件多于兩個(gè)時(shí),都可以使用data或者computed,例如:

<div id='app'> <div :class='classes'></div></div><script>var app = new Vue({ el:’#app’, data:{ isActive:true, isError:null }, computed:{ classes(){ return {active:this.isActive && !this.error,’text-fail’:this.error && this.error.type ===’fail’ } } }})</script>

除了計(jì)算屬性,也可以直接綁定一個(gè)Object類型的數(shù)據(jù),或者使用類似計(jì)算屬性的methods.

二、數(shù)組語法1、當(dāng)需要應(yīng)用多個(gè)class時(shí),可以使用數(shù)組語法,給:class綁定一個(gè)數(shù)組,應(yīng)用一個(gè)class列表:

<div id='app'> <div :class='[atvieCls,errorCls]'></div></div><script>var app = new Vue({ el:’#app’, data:{ atvieCls:’active’, errorCls:’error’ }})</script>

渲染后的結(jié)果為:

<div class='active error'></div>2、使用三元表達(dá)式,根據(jù)條件切換class(當(dāng)數(shù)據(jù)isActive為真時(shí),樣式active才會(huì)被應(yīng)用):

<div id='app'> <div :class='[isActive ? activeCls : ’’,errorCls]'></div></div><script>var app = new Vue({ el:’#app’, data:{ isActive:true, atvieCls:’active’, errorCls:’error’ }})</script>

渲染后的結(jié)果為:

<div class='active error'></div>3、class有多個(gè)條件時(shí),這樣寫較為煩瑣,可以在數(shù)組語法中使用對象語法:

<div id='app'> <div :class='[{’active’:isActive},errorCls]'></div></div><script>var app = new Vue({ el:’#app’, data:{ isActive:true, errorCls:’error’ }})</script>4、與對象語法一樣,也可以使用data、computed、method三種方法,以計(jì)算屬性為例:

<div id='app'> <button :class='classes'></button></div><script> var app = new Vue({ el: ’#app’, data: { size: ’large’, disabled: true }, computed: { classes: function () {return [ ’btn’, { [’btn-’+this.size]: this.size!==’’, [’btn-disabled’]: this.disabled, }] } } })</script>

渲染后的結(jié)果為:

<div class='btn btn-large btn-disabled'></div>

以上,樣式btn會(huì)始終應(yīng)用,當(dāng)數(shù)據(jù)size不為空時(shí),會(huì)應(yīng)用樣式前綴btn-,后加size的值;當(dāng)數(shù)據(jù)disabled為真時(shí),會(huì)應(yīng)用樣式btn-disabled.

使用計(jì)算屬性給元素動(dòng)態(tài)設(shè)置類名,在業(yè)務(wù)中經(jīng)常用到,尤其是在寫復(fù)用的組件時(shí),所以在開發(fā)過程中,如果表達(dá)式較長或邏輯復(fù)雜,應(yīng)該盡可能優(yōu)先使用計(jì)算屬性。

三、在組件上使用

如果直接在自定義組件上使用class或:class,樣式規(guī)則會(huì)直接應(yīng)用到這個(gè)組件的根元素上,例如聲明一個(gè)簡單的組件:

<script> Vue.component(’my-component’, { template: ’<p class='article'>一些文本</p>’ })</script>

然后在調(diào)用該組件時(shí),使用對象語法或數(shù)組語法給組件綁定class,以對象語法為例:

<div id='app'> <my-component :class='’active’:isActive'></my-component></div><script> var app = new Vue({ el: ’#app’, data: { isActive: true } })</script>

最終組件渲染后的結(jié)果為:

<p class='article active'>一些文本</p>

這種方法僅適用于自定義組件的最外層是一個(gè)根元素,否則會(huì)無效,當(dāng)不滿足這種條件或需要給具體的子元素設(shè)置類名時(shí),應(yīng)當(dāng)使用組件的 props 來傳遞。

以上就是vue綁定class的三種方法的詳細(xì)內(nèi)容,更多關(guān)于vue綁定class的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 机械加工_绞车配件_立式离心机_减速机-洛阳三永机械厂 | 酶联免疫分析仪-多管旋涡混合仪|混合器-莱普特科学仪器(北京)有限公司 | 捆扎机_气动捆扎机_钢带捆扎机-沈阳海鹞气动钢带捆扎机公司 | 淄博不锈钢无缝管,淄博不锈钢管-鑫门物资有限公司 | 水质监测站_水质在线分析仪_水质自动监测系统_多参数水质在线监测仪_水质传感器-山东万象环境科技有限公司 | 厂厂乐-汇聚海量采购信息的B2B微营销平台-厂厂乐官网 | 微量水分测定仪_厂家_卡尔费休微量水分测定仪-淄博库仑 | 纸张环压仪-纸张平滑度仪-杭州纸邦自动化技术有限公司 | 不锈钢/气体/液体玻璃转子流量计(防腐,选型,规格)-常州天晟热工仪表有限公司【官网】 | 河北中仪伟创试验仪器有限公司是专业生产沥青,土工,水泥,混凝土等试验仪器的厂家,咨询电话:13373070969 | 政府回应:200块在义乌小巷能买到爱情吗?——揭秘打工族省钱约会的生存智慧 | 棉柔巾代加工_洗脸巾oem_一次性毛巾_浴巾生产厂家-杭州禾壹卫品科技有限公司 | 废水处理-废气处理-工业废水处理-工业废气处理工程-深圳丰绿环保废气处理公司 | 珠光砂保温板-一体化保温板-有釉面发泡陶瓷保温板-杭州一体化建筑材料 | 清水-铝合金-建筑模板厂家-木模板价格-铝模板生产「五棵松」品牌 | 新能源汽车电机定转子合装机 - 电机维修设备 - 睿望达 | 玻璃钢型材-玻璃钢风管-玻璃钢管道,生产厂家-[江苏欧升玻璃钢制造有限公司] | 智能监控-安防监控-监控系统安装-弱电工程公司_成都万全电子 | 苹果售后维修点查询,苹果iPhone授权售后维修服务中心 – 修果网 拼装地板,悬浮地板厂家,悬浮式拼装运动地板-石家庄博超地板科技有限公司 | 塑钢件_塑钢门窗配件_塑钢配件厂家-文安县启泰金属制品有限公司 深圳南财多媒体有限公司介绍 | 酒水灌装机-白酒灌装机-酒精果酒酱油醋灌装设备_青州惠联灌装机械 | 步进驱动器「一体化」步进电机品牌厂家-一体式步进驱动 | 西安中国国际旅行社(西安国旅)| 亮点云建站-网站建设制作平台| 深圳市索富通实业有限公司-可燃气体报警器 | 可燃气体探测器 | 气体检测仪 | 申江储气罐厂家,储气罐批发价格,储气罐规格-上海申江压力容器有限公司(厂) | HV全空气系统_杭州暖通公司—杭州斯培尔冷暖设备有限公司 | 耐驰泵阀管件制造-耐驰泵阀科技(天津)有限公司 | 钣金加工厂家-钣金加工-佛山钣金厂-月汇好 | 软文发布平台 - 云软媒网络软文直编发布营销推广平台 | 食品质构分析仪-氧化诱导分析仪-瞬态法导热系数仪|热冰百科 | 深圳市源和塑胶电子有限公司-首页 | 灌装封尾机_胶水灌装机_软管灌装封尾机_无锡和博自动化机械制造有限公司 | 水平筛厂家-三轴椭圆水平振动筛-泥沙震动筛设备_山东奥凯诺矿机 包装设计公司,产品包装设计|包装制作,包装盒定制厂家-汇包装【官方网站】 | 珠光砂保温板-一体化保温板-有釉面发泡陶瓷保温板-杭州一体化建筑材料 | 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 - 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 | 爆破器材运输车|烟花爆竹运输车|1-9类危险品厢式运输车|湖北江南专用特种汽车有限公司 | 新中天检测有限公司青岛分公司-山东|菏泽|济南|潍坊|泰安防雷检测验收 | HEYL硬度计量泵-荧光法在线溶解氧仪-净时测控技术(上海)有限公司 | 电动垃圾车,垃圾清运车-江苏速利达机车有限公司 | 安徽千住锡膏_安徽阿尔法锡膏锡条_安徽唯特偶锡膏_卡夫特胶水-芜湖荣亮电子科技有限公司 |