欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 前端技术 > vue >内容正文

vue

vue class与style绑定

发布时间:2023/12/9 vue 50 豆豆
生活随笔 收集整理的这篇文章主要介绍了 vue class与style绑定 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

介绍


元素的class和style属于attribute,所以可以用v-bind处理。而在v-bind用于classhestyle时,vue.js专门增强了一下,接受的表达式结果除了字符串,还要数组和对象。

绑定class

  • 字符串语法:
  • <div v-for="(item, index) in list" :class="'demo' + index"></div><div v-for="(item, index) in lists"><i :class="item.icon"></i> </div>data () {return {list: [],lists: [{ icon: 'icon-like' },{ icon: 'icon-new' },{ icon: 'icon-share' }]} }
  • 对象语法:
  • //对象表达式 <div class="demo" :class="{'demo-red': isActive, 'demo-green': !isActive}"></div>data () {return {isActive: true,} } //绑定一个数据中的对象 <div class="demo" :class="demoClassInfo"></div>data () {return {isActive: true,demoClassInfo: {'demo-red': isActive,'demo-green': !isActive}} } //绑定一个计算属性 <div class="demo" :class="demoClassInfo"></div>data () {return {count: 0,} } cmputed: {demoClassInfo() {return {'demo-green': count > 0 && count <= 100 ? true : false,'demo-red': count > 100 ? true : false,}} }
  • 数组语法:
  • //三元表达式 <div class="demo" :class="[ isActive ? 'demo-red' : 'demo-green' ]"></div>data () {return {isActive: true,} } <div class="demo" :class="[demoClass1, demoClass2]"></div>data () {return {demoClass1: 'demo-color',demoClass2: 'demo-size',} } <div class="demo" :class="demoClassList"></div>data () {return {demoClassList: [ 'demo-color', 'demo-size'],} } //绑定一个计算属性 <div class="demo" :class="demoClassInfo"></div>data () {return {count: 0,} } cmputed: {demoClassInfo() {return [count > 0 && count <= 100 ? 'demo-green' : '',count > 100 ? 'demo-red' : '']} }

    绑定style

    css语法可以使用驼峰式(camelCase)、短横分隔命名(kabab-case)

  • 对象语法:
  • <div class="demo" :style="color: demoColor, fontSize: demoFontSize / 100 + ''rem'"></div>data () {return {demoColor: 'red',fontSize: 24} } <div class="demo" :style="demoStyleInfo"></div>data () {return {demoStyleInfo: {demoColor: 'red',fontSize: '0.24rem'}} }
  • 数组语法:
  • <div class="demo" :style="[demoColor, demoSize]"></div>data () {return {demoStyleInfo: {demoColor: 'color: red',demoSize: 'fontSize: 0.24rem'}} }

    总结

    以上是生活随笔为你收集整理的vue class与style绑定的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。