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

您的位置:首頁技術文章
文章詳情頁

一文讀懂vue動態屬性數據綁定(v-bind指令)

瀏覽:8日期:2023-01-02 14:49:18
v-bind的基本用法

一、本節說明

前面的章節我們學習了如何向頁面html標簽進行插值操作,那么如果我們想動態改變html標簽的屬性,該怎么辦呢?這就是我們這節開始要講的內容v-bind.

二、 怎么做

一文讀懂vue動態屬性數據綁定(v-bind指令)

“:”為v-bind的簡寫形式,也可稱為語法糖

三、 效果

一文讀懂vue動態屬性數據綁定(v-bind指令)

四、 深入

在上圖中將a標簽的href屬性值設置為toutiao,VUE實例將自動去data里面尋找toutiao屬性進行值綁定。 不只是a標簽,所有的html標簽屬性都可以通過v-bind進行值綁定,然后通過改變數據動態改變它的屬性值。

錯誤的寫法

注意一下:初學者容易犯錯,這樣寫是錯誤的,v-bind:href='http://www.hdgsjgj.cn/bcjs/{{toutiao}}' rel='external nofollow' 。 下面的寫法也無法正常的完成屬性值綁定操作,注意雙引號中間有一對單引號。

<a v-bind:href='http://www.hdgsjgj.cn/bcjs/’toutiao’' rel='external nofollow' >今日頭條(v-bind:href)</a>

一文讀懂vue動態屬性數據綁定(v-bind指令)

加上單引號之后,并不會進行屬性值綁定,而是將字符串原樣渲染后綁定屬性上。

v-bind綁定calss屬性(對象語法)

一、本節說明

v-bind綁定元素除了上一節那種直接進行單個屬性值綁定,還可以傳入對象和數組。如:本節我們講解使用對象語法的方式對class屬性進行綁定。

我們先來看看,傳統的html的css類引用語法

<h2 class='css類名1 css類名2'>html傳統寫法</h2> v-bind對象語法,我們需要隊css-class類名賦一個boolean值,來決定css類是否生效。

<h2 v-bind:class='{css類名1: true|false, css類名2: true|false}'>{{message}}</h2>

初次看這種寫法,實在是繁瑣,沒有我們直接在html標簽上寫class更加簡單。但是v-bind:class語法的好處就在于,我們可以動態的改變布爾值,來切換樣式。

問題:我們使用了v-bind:class,那么class屬性還能不能用了? 答:可以,完全不耽誤,vue會幫你將二者合并

<h2 v-bind: class='css類名3'>{{message}}</h2>

我們利用上面的語法,實現一個簡單的需求:為文字增加顏色,并點擊按鈕實現顏色的切換。

二、 怎么做

首先,定義兩個css的類,blue和red是兩個css的類名

.blue { color: blue;}.red { color: red;}

然后我們來實現視圖模型,isBlue=true表示默認設置文字的顏色是藍色的

一文讀懂vue動態屬性數據綁定(v-bind指令)

有的時候我們會覺得在雙引號里面去寫css類有點怪異,并且IDE無提示。css類比較多的情況下,我們也可以把屬性值對象綁定,通過自定義函數來返回

一文讀懂vue動態屬性數據綁定(v-bind指令)

三、 效果

上面兩種方式,實現的效果是一樣的,藍色的文字

一文讀懂vue動態屬性數據綁定(v-bind指令)

四、 深入

那我們如何動態的切換顏色呢,這就需要我們自定義方法啦

視圖代碼,@click是v-on:click的簡寫形式,changeColor是我們自定義的切換顏色的方法

<button @click='changeColor'>換顏色</button> 視圖模型(app),在methods代碼段加入自定義函數changeColor

changeColor(){ this.isBlue = !this.isBlue this.isRed = !this.isRed}

最終效果

一文讀懂vue動態屬性數據綁定(v-bind指令)

v-bind綁定class屬性(數組語法)

一、本節說明

在上一節中,我們講了如何使用v-bind對象語法的方式綁定class屬性,并實現了樣式的切換。這一節我們來學習v-bind綁定class屬性的另外一種語法-數組語法。這種數組語法在實際應用中并不如對象語法常見,其用法容易理解,但書寫相對繁瑣。

數組語法綁定class類

<div :class='[’css類名1’,’css類名2’]'>數組語法</div> 數組中嵌套對象

<div :class='[’css類名1’, ’css類名2’, {css類名3: true|false}]'> 數組中嵌套對象</div> 注意對象里面的css類名不用加單引號,和上一節用法是一致的

二、 怎么做

我們利用數組語法,實現一個和上一節對象語法一樣的需求:為文字增加顏色,并點擊按鈕實現顏色的切換。首先我們定義css類

一文讀懂vue動態屬性數據綁定(v-bind指令)

下面是具體的實現

一文讀懂vue動態屬性數據綁定(v-bind指令)

我們默認的定義了一個帶有css類名的數組[’bold’,’blue’],默認是粗體藍色 使用pop()和push方法操作數組,pop是把數組最后一個元素移除,push是在數組尾部加入一個元素

三、 效果

一文讀懂vue動態屬性數據綁定(v-bind指令)

為文字增加顏色,并點擊按鈕實現顏色的切換(這里是瀏覽器截圖,點擊無效)

四、 深入:哪些數組操作是響應式的?

在上文中,我們使用數組的pop()和push()方法去操作數組元素,而不是使用this.cssArray[1] = ’blue’直接操作數組。因為這種通過下標操作數組的方式不是響應式的,也就是說雖然數組元素的值會發生變化,但不會導致頁面顏色發生切換。

所以,當我們希望通過操作數據影響頁面顯示內容及顯示效果的時候,要使用數組相關的函數,不能直接使用數組下標操作數據。下面列舉一下經常用到的響應式的數組操作函數:

push(param…) 加入元素到數組的尾部 pop() 從數組的尾部彈出一個元素 shift() 從數組的頭部移除一個元素 unshift(param…) 加入元素到數組的頭部 splice() 可以實現指定下標的數組元素的刪除、插入、替換 sort() 數組排序 reverse() 數組倒序排序

如果你對這些方法還不是很熟,有必要去復習一下這些js的基礎知識。

v-bind綁定style屬性

一、本節說明

上一節我們使用綁定對象或數組的語法來實現css的class類動態樣式切換,這一節我們學習綁定style屬性值實現動態的樣式。

注意:

我們使用v-bind來綁定class或style屬性的主要目的是實現:css樣式的動態切換。 如果單純的為html標簽加樣式,不需要動態切換,就不需要使用v-bind綁定。屬于畫蛇添足,自找麻煩。

二、 怎么做

直接在元素上通過 :style 的形式,書寫樣式對象

<h2 :style='{color: ’red’, ’font-size’: ’40px’}'>這是一個紅色的H2</h2>

實現一個字體大小動態變化的需求

一文讀懂vue動態屬性數據綁定(v-bind指令)

動態修改data.fontSize,從而達到動態改變字號大小的目的。 從上圖中,我們可以看到,可以將css樣式屬性保存在一個對象里面,綁定到style屬性上面。 抽取其中需要變化的部分,用數據模型變量來替換。從而達到動態修改樣式的效果

三、 效果

一文讀懂vue動態屬性數據綁定(v-bind指令)

四、 深入

style屬性除了可以綁定一個對象,還可以使用數組綁定的語法,引用多個 data 上的樣式對象。用法如下:

在data上定義樣式:

data: { style1: { color: ’red’, ’font-size’: ’40px’, ’font-weight’: ’200’ }, style2: { font-style: ’italic’ }}

在元素中,通過屬性綁定的形式,將樣式對象組成一個數組應用到元素中:

<h2 :style='[style1, style2]'>這是一個藍色的斜體的h2</h2>

以上就是一文讀懂vue動態屬性數據綁定(v-bind指令)的詳細內容,更多關于vue 動態屬性數據綁定的資料請關注好吧啦網其它相關文章!

標簽: Vue
相關文章:
主站蜘蛛池模板: 网站建设-高端品牌网站设计制作一站式定制_杭州APP/微信小程序开发运营-鼎易科技 | 工业雾炮机_超细雾炮_远程抑尘射雾器-世纪润德环保设备 | 大流量卧式砂磨机_强力分散机_双行星双动力混合机_同心双轴搅拌机-莱州市龙跃化工机械有限公司 | 水上浮桥-游艇码头-浮动码头-游船码头-码瑞纳游艇码头工程 | 绿萝净除甲醛|深圳除甲醛公司|测甲醛怎么收费|培训机构|电影院|办公室|车内|室内除甲醛案例|原理|方法|价格立马咨询 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 校服厂家,英伦校服定做工厂,园服生产定制厂商-东莞市艾咪天使校服 | pos机办理,智能/扫码/二维码/微信支付宝pos机-北京万汇通宝商贸有限公司 | 除湿机|工业除湿机|抽湿器|大型地下室车间仓库吊顶防爆除湿机|抽湿烘干房|新风除湿机|调温/降温除湿机|恒温恒湿机|加湿机-杭州川田电器有限公司 | 有机废气处理-rto焚烧炉-催化燃烧设备-VOC冷凝回收装置-三梯环境 | 地源热泵一体机,地源热泵厂家-淄博汇能环保设备有限公司 | 齿式联轴器-弹性联轴器-联轴器厂家-江苏诺兴传动联轴器制造有限公司 | 冲锋衣滑雪服厂家-冲锋衣定制工厂-滑雪服加工厂-广东睿牛户外(S-GERT) | 校车_校车价格_19座幼儿园校车_幼儿园校车_大鼻子校车 | 机床主轴维修|刀塔维修|C轴维修-常州翔高精密机械有限公司 | 杭州画室_十大画室_白墙画室_杭州美术培训_国美附中培训_附中考前培训_升学率高的画室_美术中考集训美术高考集训基地 | 打孔器,打孔钳厂家【温州新星德牌五金工具】 | 新型游乐设备,360大摆锤游乐设备「诚信厂家」-山东方鑫游乐设备 新能源汽车电池软连接,铜铝复合膜柔性连接,电力母排-容发智能科技(无锡)有限公司 | 南京精锋制刀有限公司-纵剪机刀片_滚剪机刀片_合金刀片厂家 | 扫地车厂家-山西洗地机-太原电动扫地车「大同朔州吕梁晋中忻州长治晋城洗地机」山西锦力环保科技有限公司 | 液氮罐_液氮容器_自增压液氮罐-北京君方科仪科技发展有限公司 | SOUNDWELL 编码器|电位器|旋转编码器|可调电位器|编码开关厂家-广东升威电子制品有限公司 | 巨野电机维修-水泵维修-巨野县飞宇机电维修有限公司 | 棕刚玉_白刚玉_铝酸钙-锐石新材料 | 威实软件_软件定制开发_OA_OA办公系统_OA系统_办公自动化软件 | 爆破器材运输车|烟花爆竹运输车|1-9类危险品厢式运输车|湖北江南专用特种汽车有限公司 | LHH药品稳定性试验箱-BPS系列恒温恒湿箱-意大利超低温冰箱-上海一恒科学仪器有限公司 | 气密性检测仪_气密性检测设备_防水测试仪_密封测试仪-岳信仪器 | 智能电表|预付费ic卡水电表|nb智能无线远传载波电表-福建百悦信息科技有限公司 | 跨境物流_美国卡派_中大件运输_尾程派送_海外仓一件代发 - 广州环至美供应链平台 | 在线钠离子分析仪-硅酸根离子浓度测定仪-油液水分测定仪价格-北京时代新维测控设备有限公司 | 湖南自考_湖南自学考试 | 小型气象站_车载气象站_便携气象站-山东风途物联网 | 广东燎了网络科技有限公司官网-网站建设-珠海网络推广-高端营销型外贸网站建设-珠海专业h5建站公司「了了网」 | 冷水机-冰水机-冷冻机-冷风机-本森智能装备(深圳)有限公司 | 拉伸膜,PE缠绕膜,打包带,封箱胶带,包装膜厂家-东莞宏展包装 | 纯化水设备-纯水设备-超纯水设备-[大鹏水处理]纯水设备一站式服务商-东莞市大鹏水处理科技有限公司 | 合景一建-无尘车间设计施工_食品医药洁净车间工程装修总承包公司 | 烟台游艇培训,威海游艇培训-烟台市邮轮游艇行业协会 | 两头忙,井下装载机,伸缩臂装载机,30装载机/铲车,50装载机/铲车厂家_价格-莱州巨浪机械有限公司 | 筒瓦厂家-仿古瓦-寺庙-古建琉璃瓦-宜兴市古典园林建筑陶瓷厂有限公司 |