【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绑定也支持绑定一个数组来应用多个样式对象~

相关推荐
WeiXin_DZbishe2 分钟前
基于springboot大学生提问箱系统-计算机毕设【课程设计】72593
javascript·vue.js·spring boot·vscode·python·node.js·php
yume_sibai4 分钟前
ES6 核心知识点完全总结(变量 + 箭头函数 + 解构 + Promise + 模块化)
前端·ecmascript·es6
Moment16 分钟前
为什么市面上的 coding agent 大多数都基于Nodejs?
前端·后端·面试
吃瓜的猹27 分钟前
Gemini 3.8 Flash 是真的站起来了,一起来看看我到底做了什么吧~
前端
光影少年27 分钟前
React18 对RN 的影响
android·前端·react.js·ios·前端框架
tryCbest35 分钟前
Vue Router学习及使用
前端·vue.js
杉氧36 分钟前
丝滑的奥秘:Reanimated 3 动画引擎与手势处理(Gesture Handler)
android·前端·react native
用户970161501681 小时前
浏览器切到后台后,AI 给我的代码就失效了:我拿 3 个模型测了 6 个定时器坑
前端·代码规范
蓝星空20001 小时前
GPT Image 2.5 生图模型已上线,支持 Flare 与 Sunburst 型号选择
前端·gpt·aigc·image2·imagen
何何____1 小时前
js常见继承方法详解
前端·javascript