【Vue】了解这些类和样式绑定就够了!

hello,我是小索奇,精心制作的Vue系列持续发放,涵盖大量的经验和示例,由浅入深进行讲解。 本章给大家讲解的是类和样式绑定,前面的章节已经更新完毕,后面的章节持续输出,有任何问题都可以留言或私信哈,一起加油~

类和样式绑定

其中:v-bind 的缩写)

绑定class样式

  • 写法:class="soa"soa可以是字符串、对象、数组
  • 字符串写法 :类名不确定,要动态获取
  • 对象写法 :要绑定多个样式,个数&名字也不确定
  • 数组写法 :要绑定多个样式,个数&名字确定,可以进行自定义修改

绑定 style 样式

  • 对象写法::style="{fontSize: xxx}" 其中xxx是动态值
  • 数组写法::style="[a,b]" 其中a、b是样式对象

示例

xml 复制代码
<div id="root">

  <!-- 字符串写法,适用于动态类名 -->
  <!-- 这里具体方法实现可以自定义 -->
  <div :class="color">{{name}}</div>

  <!-- 确定类名数组 -->
  <div :class="classArr">{{name}}</div> 

  <!-- 对象根据条件决定 -->
  <div :class="classObj">{{name}}</div>

  <!-- style对象 -->
  <div :style="styleObj">{{name}}</div>

  <!-- style数组 -->
  <div :style="styleArr">{{name}}</div>

</div>

<script>
const vm = new Vue({
  el: '#root',
  
  data: {
    name: '小索奇',
    color: '#9900ff',
    classArr: ['cls1', 'cls2'],
    classObj: {
      cls1: false
    },
    styleObj: {
      fontSize: '40px',
      color: '#9966ff'
    },
    styleArr: [
      { fontSize: '40px' },
      { color: '#9900ff' }
    ]
  }
})
</script>

记住一个逻辑:不变写死的可以用css定义,变化的vue定义!

:style绑定的值可以是一个对象,对象中的CSS属性名和属性值会被直接设置为元素的行内样式

这样就可以在模板中方便地切换多个样式属性,而不需要预先在CSS中定义className

当绑定的数据变化时,setStyle会响应式地更新应用到元素上

相比在CSS中预定义,:style绑定可以在运行时动态构建样式对象,非常灵活

而且:style绑定也支持绑定一个数组来应用多个样式对象~

相关推荐
问心无愧0513几秒前
ctf show web入门27
前端
小村儿15 分钟前
给 AI Agent 装上"长期记忆":Karpathy 的 LLM Wiki 思想,我做成了工具
前端·后端·ai编程
竹林81820 分钟前
用ethers.js连接MetaMask实现Web3钱包登录:从踩坑到稳定运行的完整记录
前端·javascript
heyCHEEMS23 分钟前
如何用 Recast 实现静态配置文件源码级读写
前端·node.js
心连欣24 分钟前
从零开始,学习所有指令!
前端·javascript·vue.js
review4454327 分钟前
大模型和function calling分别是如何工作的
前端
东东同学28 分钟前
耗时一个月,我把 Nuxt 首屏性能排障经验做成了一个 AI Skill
前端·agent
冴羽1 小时前
超越 Vibe Coding —— AI 辅助编程指南
前端·ai编程·vibecoding
梦想的颜色2 小时前
一天一个SKILL——前端最佳自动化测试 webapp-testing
前端·web app
SoaringHeart2 小时前
Flutter进阶:放弃 MediaQuery.of(context) 使用 NScreenManager
前端·flutter