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进行拖拽
Jul 20 Javascript
Jquery 最近浏览过的商品的功能实现代码
May 14 Javascript
JavaScript获取和设置CheckBox状态的简单方法
Jul 05 Javascript
js判断元素是否隐藏的方法
Jun 09 Javascript
jquery实现手风琴效果
Nov 20 Javascript
ionic实现滑动的三种方式
Aug 27 Javascript
vue数字类型过滤器的示例代码
Sep 07 Javascript
Angular4学习笔记之根模块与Ng模块
Sep 09 Javascript
vue this.reload 方法 配置
Sep 12 Javascript
利用JS代码自动删除稿件的普通弹幕功能
Sep 20 Javascript
Vue-resource安装过程及使用方法解析
Jul 21 Javascript
js实现3D旋转相册
Aug 02 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
PHP初学入门
2006/11/19 PHP
discuz目录文件资料汇总
2014/12/30 PHP
php变量与数组相互转换的方法(extract与compact)
2016/12/02 PHP
xml 与javascript结合的问题解决方法
2007/03/24 Javascript
Firefox下提示illegal character并出现乱码的原因
2010/03/25 Javascript
javascript基础第一章 JavaScript与用户端
2010/07/22 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
2014/01/13 Javascript
Javascript实现获取窗口的大小和位置代码分享
2014/12/04 Javascript
javascript批量修改文件编码格式的方法
2015/01/27 Javascript
TypeScript 中接口详解
2015/06/19 Javascript
jQuery grep()方法详解及实例代码
2016/10/30 Javascript
Angular实现跨域(搜索框的下拉列表)
2017/02/16 Javascript
EasyUI实现下拉框多选功能
2017/11/07 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
微信小程序常见页面跳转操作简单示例
2019/05/01 Javascript
Electron 打包问题:electron-builder 下载各种依赖出错(推荐)
2020/07/09 Javascript
如何在postman测试用例中实现断言过程解析
2020/07/09 Javascript
js实现简易拖拽的示例
2020/10/26 Javascript
kNN算法python实现和简单数字识别的方法
2014/11/18 Python
PyQt5实现下载进度条效果
2018/04/19 Python
Pandas分组与排序的实现
2019/07/23 Python
Python实现名片管理系统
2020/02/14 Python
Python3交互式shell ipython3安装及使用详解
2020/07/11 Python
python中requests模拟登录的三种方式(携带cookie/session进行请求网站)
2020/11/17 Python
使用Html5中的cavas画一面国旗
2019/09/25 HTML / CSS
党课学习思想汇报
2014/01/02 职场文书
《雾凇》教学反思
2014/02/17 职场文书
财产公证书样本
2014/04/04 职场文书
2014领导干部学习焦裕禄同志先进事迹思想汇报
2014/09/19 职场文书
党员领导干部民主生活会批评与自我批评发言
2014/09/28 职场文书
2014年酒店前台工作总结
2014/11/14 职场文书
置业顾问岗位职责
2015/02/09 职场文书
学校德育工作总结2015
2015/05/11 职场文书
贷款工资证明范本
2015/06/12 职场文书
2016圣诞节贺卡寄语
2015/12/07 职场文书
Oracle更换为MySQL遇到的问题及解决
2021/05/21 Oracle