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 相关文章推荐
Extjs TimeField 显示正常时间格式的代码
Jun 28 Javascript
ExtJS判断IE浏览器类型的方法
Feb 10 Javascript
AngularJS初始化过程分析(引导程序)
Dec 06 Javascript
jquery中toggle函数交替使用问题
Jun 22 Javascript
jQuery simpleModal插件的使用介绍
Aug 30 Javascript
JS及JQuery对Html内容编码,Html转义
Feb 17 Javascript
Javascript仿京东放大镜的效果
Mar 01 Javascript
详细AngularJs4的图片剪裁组件的实例
Jul 12 Javascript
vuex 的简单使用
Mar 22 Javascript
JS+DIV实现拖动效果
Feb 11 Javascript
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
May 10 Javascript
如何使用JavaScript策略模式校验表单
Apr 29 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
S900/ ETON E1-XM 收音机
2021/03/02 无线电
linux iconv方法的使用
2011/10/01 PHP
PHP利用Mysql锁解决高并发的方法
2018/09/04 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
2018/11/20 PHP
PHP与Web页面交互操作实例分析
2020/06/02 PHP
javascript编程起步(第五课)
2007/02/27 Javascript
对google个性主页的拖拽效果的js的完整注释[转]
2007/04/10 Javascript
浅说js变量
2011/05/25 Javascript
javascript 循环调用示例介绍
2013/11/20 Javascript
javascript中的原型链深入理解
2014/02/24 Javascript
jQuery实现ctrl+enter(回车)提交表单
2015/10/19 Javascript
JavaScript添加随滚动条滚动窗体的方法
2016/02/23 Javascript
angularJs关于指令的一些冷门属性详解
2016/10/24 Javascript
JavaScript注入漏洞的原理及防范(详解)
2016/12/04 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
VUE中v-model和v-for指令详解
2017/06/23 Javascript
基于LayUI实现前端分页功能的方法
2017/07/22 Javascript
探索Vue高阶组件的使用
2018/01/08 Javascript
详解 vue better-scroll滚动插件排坑
2018/02/08 Javascript
详解Python中的相对导入和绝对导入
2017/01/06 Python
Python实现微信自动好友验证,自动回复,发送群聊链接方法
2019/02/21 Python
python编写计算器功能
2019/10/25 Python
python 通过手机号识别出对应的微信性别(实例代码)
2019/12/22 Python
Python urllib.request对象案例解析
2020/05/11 Python
python实现简单的tcp 文件下载
2020/09/16 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
CSS3自定义滚动条样式的示例代码
2017/08/21 HTML / CSS
AT&T Wireless:手机、无限数据计划和配件
2018/06/03 全球购物
SmartBuyGlasses意大利:购买太阳镜、眼镜和隐形眼镜
2018/11/20 全球购物
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
设计师个人求职信范文
2014/02/02 职场文书
优秀实习生感言
2014/03/01 职场文书
公司委托书格式范本
2014/09/16 职场文书
2015年七夕情人节感言
2015/08/03 职场文书
导游词之镜泊湖
2019/12/09 职场文书
html网页引入svg图片的4种方式
2022/08/05 HTML / CSS