Vue v-bind动态绑定class实例方法


Posted in Javascript onJanuary 15, 2020

现在很多网站,都是希望动态切换class,更换css样式。下面我们使用Vue的v-bind绑定class

v-bind动态绑定class

对象语法绑定(常用)

red和size的值为true就在class显示red和size,false就不显示。下面有两种写法:

<style>
  .red{
    color: red;
  }
  .size{
    font-size: 20px;
  }
</style>

<div id="app">
  <ul>
    <!--写法一-->
    <li :class="{red:isColor,size:isSize}">{{list}}</li>
    <!--写法二,v-bind绑定函数必须加上()-->
    <li :class="listData()">{{list}}</li>
  </ul>
  <!--点击这个,red的true变false,反之red的false变true-->
  <button @click="reverse">反选</button>
</div>

<script>
  const app=new Vue({
    el:"#app",
    data:{
      list:"Vue",
      isColor:true,
      isSize:true
    },
    methods:{
      reverse:function () {
        return this.isColor = !this.isColor;
      },
      //写法二
      listData:function () {
        return {red:this.isColor,size:this.isSize};
      }
    }
  })
</script>

注意:v-bind:class指令可以与普通的class特性共存;对应的语法糖:“:class”等于v-bind:class

数组语法绑定

数组语法不常用,主要是它不灵活:

<div id="app">
  <ul>
    <!--这里绑定data的变量-->
    <li :class="[acli,bcli]">{{list}}</li>
  </ul>
</div>

const app=new Vue({
    el:"#app",
    data:{
      list:"Vue",
      acli:"aaa",
      bcli:"bbb",
    },
})

字符串绑定更数组语法绑定差不多,不常用

<div id="demo">
<span :class="classA"></span>
</div>

let vm = new Vue({


el:"#demo",


data:{



classA:"string"


}
})

综合的写法

<div id="demo">
<span :class="[one,{‘classA‘:classa,‘classB‘:classb}]"></span>
</div>

var vm = new Vue({


el:"#demo",


data:{



one:"string",



classa:true,



classb:false


}
})

v-bind动态绑定style

对象语法绑定(常用)

v-bind:style 的对象语法十分直观——看着非常像 CSS,但其实是一个 JavaScript 对象。

<div id="app">
  <ul>
    <!--{key(属性名):value(属性值)}-->
    <li :style="{color:color,fontSize:size+'px'}">{{list}}</li>
    <!--如果你想属性值原样数组,就必须加上单引号-->
    <li :style="{color:'red'}">{{list}}</li>
  </ul>
</div>

const app=new Vue({
  el:"#app",
  data:{
    list:"Vue",
    color:"red",

 size:50
  },
})

注:对象语法的value(属性值),如果加上单引号就原样输出,不加就输出data的变量值

数组语法绑定

v-bind:style 的数组语法可以将多个样式对象应用到同一个元素上:

<div v-bind:style="[baseStyles,overridingStyles]">{{list}}</div>

const app=new Vue({
  el:"#app",
  data:{
    list:"Vue",
    baseStyles:{fontSize:"50px",color:"red"},
    overridingStyles:{"margin-top":"50px"}
  },
  
})

以上就是本次介绍的全部相关知识点,感谢大家的学习和对三水点靠木的支持。

Javascript 相关文章推荐
Javascript面象对象成员、共享成员变量实验
Nov 19 Javascript
JS跨域总结
Aug 30 Javascript
Jquery仿淘宝京东多条件筛选可自行结合ajax加载示例
Aug 28 Javascript
javascript实现信息的显示和隐藏如注册页面
Dec 03 Javascript
动态读取JSON解析键值对的方法
Jun 03 Javascript
javascript中递归函数用法注意点
Jul 30 Javascript
JavaScript拖动层Div代码
Mar 01 Javascript
JavaScript校验Number(4,1)格式的数字实例代码
Mar 13 Javascript
详解vue-cli 构建项目 vue-cli请求后台接口 vue-cli使用axios、sass、swiper
May 28 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
Apr 27 Javascript
Vue全局使用less样式,组件使用全局样式文件中定义的变量操作
Oct 21 Javascript
JS class语法糖的深入剖析
Jul 07 Javascript
JS 事件机制完整示例分析
Jan 15 #Javascript
JS实现滑动插件
Jan 15 #Javascript
JS实现滑动导航效果
Jan 14 #Javascript
解决 window.onload 被覆盖的问题方法
Jan 14 #Javascript
vue quill editor 使用富文本添加上传音频功能
Jan 14 #Javascript
JavaScript事件冒泡机制原理实例解析
Jan 14 #Javascript
JS window对象简单操作完整示例
Jan 14 #Javascript
You might like
Laravel框架实现发送短信验证功能代码
2016/06/06 PHP
PHP+MySql实现一个简单的留言板
2020/07/19 PHP
javascript实现轮显新闻标题链接
2007/08/13 Javascript
Javascript 类型转换方法
2010/10/24 Javascript
使用js写的一个简易的投票
2013/11/27 Javascript
jquery获取复选框被选中的值
2014/04/10 Javascript
jQuery DOM插入节点操作指南
2015/03/03 Javascript
原生js实现图片轮播特效
2015/12/18 Javascript
理解javascript中try...catch...finally
2015/12/25 Javascript
学习javascript面向对象 掌握创建对象的9种方式
2016/01/04 Javascript
Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统
2016/05/27 Javascript
Bootstrap和Angularjs配合自制弹框的实例代码
2016/08/24 Javascript
Nuxt升级2.0.0时出现的问题(小结)
2018/10/08 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
微信小程序发布新版本时自动提示用户更新的方法
2019/06/07 Javascript
详解从vue-loader源码分析CSS Scoped的实现
2019/09/23 Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
2019/11/04 Javascript
JS+DIV实现拖动效果
2020/02/11 Javascript
js实现经典贪吃蛇小游戏
2020/03/19 Javascript
基于Electron实现桌面应用开发代码实例
2020/07/07 Javascript
[01:18:36]LGD vs VP Supermajor 败者组决赛 BO3 第一场 6.10
2018/07/04 DOTA
Python实现快速排序的方法详解
2019/10/25 Python
使用JS+CSS3技术:让你的名字动起来
2013/04/27 HTML / CSS
Trip.com香港网站:Ctrip携程旗下,全球最大的网上旅游社之一
2016/08/01 全球购物
大学社团活动总结
2014/04/26 职场文书
国际经济贸易专业自荐信
2014/06/13 职场文书
优秀校长事迹材料
2014/12/24 职场文书
简单的辞职信模板
2015/05/12 职场文书
美容院管理规章制度
2015/08/05 职场文书
2016优秀教师先进个人事迹材料
2016/02/25 职场文书
Python基础之教你怎么在M1系统上使用pandas
2021/05/08 Python
MySQL笔记 —SQL运算符
2022/01/18 MySQL
java中为什么说子类的构造方法默认访问的是父类的无参构造方法
2022/04/13 Java/Android
python APScheduler执行定时任务介绍
2022/04/19 Python
javascript进阶篇深拷贝实现的四种方式
2022/07/07 Javascript
html,css,javascript是怎样变成页面的
2023/05/07 HTML / CSS