学习 Vue 的时候觉得样式绑定很简单,但是使用的时候总是容易搞晕自己。因为 :class 和 :style 里的数组语法和对象语法和 data 里绑定的值是不太一样的。这篇文章就简单对 Vue 绑定做个总结。
操作元素的class列表和内联样式是数据绑定的一个常见需求,因为它们都是属性,所以可用v-bind处理,通过表达式计算出字符串结果即可。不过字符串拼接麻烦且易错。因此,在将v-bind用于class和style时,Vue做了专门增强,表达式结果类型除了字符串之外,还可是对象或数组。
- Class绑定
- Style绑定
绑定Class
对象语法
data 里的属性是负责 toggle 是否要这个 class,也就是一般定义 Boolean 类型的值。
<div :class="{ active: isActive, 'text-danger': hasError }"></div>
这里用 isActive 和 hasError 定义是否需要 active 和 text-danger 类。
data: {
isActive: true,
hasError: false
}
渲染为
<div class="active"></div>
数组语法
data 里负责定义 CSS 类名。
<div :class="[activeClass, errorClass]"></div>
这里定义了 activeClass 和 errorClass 的 CSS 类名是 active 和 text-danger。
data: {
activeClass: 'active',
errorClass: 'text-danger'
}
渲染为
<div class="active text-danger"></div>
混合写法
可以用混合的形式来绑定 class,即数组语法里写对象语法。所以 data 里的数据主要用于:
- 是否需要某个 class
- 定义 "class" 里面的类名
<div :class="[{ active: isActive }, errorClass]"></div>
这里定义了 errorClass 的 CSS 类名为 text-danger,并用 isActive 定义是否需要 active 类。
data: {
errorClass: 'text-danger',
isActive: true
}
渲染为
<div class="active text-danger"></div>
绑定Style
对象语法
data 里的属性是定义 style 里的值。与 class 不一样,class 是定义是否要这个 class的。
<div :style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>
这里定义了 style 里的 color 和 font-size 的值。
data: {
activeColor: 'red',
fontSize: 30
}
渲染为
<div style="color: red; font-size: 30px"></div>
数组语法
可以绑定多个样式对象到 style 上
<div :style="[baseStyles, overridingStyles]"></div>
这里在 data 里用 styleObject 定义了 color 和 font-size,再用 overridingStyles 定义了 background 和 margin。然后在组件里用数组进行混合绑定。
data: {
styleObject: {
color: 'red',
fontSize: '13px'
},
overridingStyles: {
background: 'green',
margin: '13px'
}
}
渲染为
<div style="color: red; font-size: 13px; background: green; margin: 13px;"></div>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]