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系列之数据类型 字符串
Jun 08 Javascript
javascript生成不重复的随机数
Jul 17 Javascript
jQuery自适应轮播图插件Swiper用法示例
Aug 24 Javascript
D3.js中强制异步文件读取同步的几种方法
Feb 06 Javascript
js实现一键复制功能
Mar 16 Javascript
微信小程序教程系列之新建页面(4)
Apr 17 Javascript
微信小程序tabBar模板用法实例分析【附demo源码下载】
Nov 28 Javascript
基于node下的http小爬虫的示例代码
Jan 11 Javascript
JS动画定时器知识总结
Mar 23 Javascript
微信小程序scroll-view实现字幕滚动
Jul 14 Javascript
jQuery实现表格隔行换色
Sep 01 jQuery
浅谈JavaScript闭包
Apr 09 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
《星际争霸II》全新指挥官斯台特曼现已上线
2020/03/08 星际争霸
用PHP伪造referer突破网盘禁止外连的代码
2008/06/15 PHP
PHP正确配置mysql(apache环境)
2011/08/28 PHP
php将远程图片保存到本地服务器的实现代码
2015/08/03 PHP
PHP简单获取网站百度搜索和搜狗搜索收录量的方法
2016/08/23 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
PHP使用mongoclient简单操作mongodb数据库示例
2019/02/08 PHP
你必须知道的JavaScript 变量命名规则详解
2013/05/07 Javascript
文件编码导致jquery失效的解决方法
2013/06/26 Javascript
js实现感应鼠标图片透明度变化的方法
2015/02/20 Javascript
jQuery实现页面下拉100像素出现悬浮窗口的方法
2016/09/05 Javascript
jQuery过滤选择器用法示例
2016/09/12 Javascript
VeeValidate 的使用场景以及配置详解
2019/01/11 Javascript
基于javascript实现日历功能原理及代码实例
2020/05/07 Javascript
Vue实现返回顶部按钮实例代码
2020/10/21 Javascript
详解JavaScript原型与原型链
2020/11/16 Javascript
Python中用PIL库批量给图片加上序号的教程
2015/05/06 Python
Python数据库的连接实现方法与注意事项
2016/02/27 Python
python一键升级所有pip package的方法
2017/01/16 Python
python3获取当前文件的上一级目录实例
2018/04/26 Python
Django中的Model操作表的实现
2018/07/24 Python
说说如何遍历Python列表的方法示例
2019/02/11 Python
python函数参数(必须参数、可变参数、关键字参数)
2019/08/16 Python
python程序中的线程操作 concurrent模块使用详解
2019/09/23 Python
python3.7调试的实例方法
2020/07/21 Python
CSS3制作翻转效果_动力节点Java学院整理
2017/07/11 HTML / CSS
使用CSS3创建动态菜单效果
2015/07/10 HTML / CSS
当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗
2014/04/28 面试题
山海经纬软件测试笔试题和面试题
2013/04/02 面试题
十八大闭幕感言
2014/01/22 职场文书
法定代表人授权委托书
2014/04/04 职场文书
《特殊的葬礼》教学反思
2014/04/27 职场文书
校庆活动策划方案
2014/06/05 职场文书
银行求职自荐信
2014/06/30 职场文书
Nginx 负载均衡是什么以及该如何配置
2021/03/31 Servers