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 25 Javascript
jquery属性过滤选择器使用示例
Jun 18 Javascript
javascript实现捕捉键盘上按下的键
May 05 Javascript
Node.js 应用跑得更快 10 个技巧
Apr 03 Javascript
深入解析JavaScript中的arguments对象
Jun 12 Javascript
js带闹铃功能的倒计时代码
Sep 29 Javascript
vue中用H5实现文件上传的方法实例代码
May 27 Javascript
JavaScript全屏和退出全屏事件总结(附代码)
Aug 17 Javascript
JavaScript实现的鼠标跟随特效示例【2则实例】
Dec 22 Javascript
关于vue的npm run dev和npm run build的区别介绍
Jan 14 Javascript
快速了解Node中的Stream流是什么
Feb 13 Javascript
浅谈layer弹出层按钮颜色修改方法
Sep 11 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/10/09 PHP
php函数之子字符串替换&amp;#65279; str_replace
2011/03/23 PHP
在Win7 中为php扩展配置Xcache
2014/10/08 PHP
javascript实现划词标记+划词搜索功能
2007/03/06 Javascript
统计出现最多的字符次数的js代码
2010/12/03 Javascript
JQuery each()函数如何优化循环DOM结构的性能
2012/12/10 Javascript
ff下JQuery无法监听input的keyup事件的解决方法
2013/12/12 Javascript
jQuery中delegate与on的用法与区别示例介绍
2013/12/20 Javascript
js使用html()或text()方法获取设置p标签的显示的值
2014/08/01 Javascript
详解JavaScript的策略模式编程
2015/06/24 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
2016/01/28 Javascript
JS修改地址栏参数实例代码
2016/06/14 Javascript
jQuery模拟select实现下拉菜单功能
2016/06/20 Javascript
关于Stream和Buffer的相互转换详解
2017/07/26 Javascript
node.js实现微信JS-API封装接口的示例代码
2017/09/06 Javascript
详解Vue中localstorage和sessionstorage的使用
2017/12/22 Javascript
Vue前端项目部署IIS的实现
2020/01/06 Javascript
小程序实现背景音乐播放和暂停
2020/06/19 Javascript
Vue如何基于vue-i18n实现多国语言兼容
2020/07/17 Javascript
python修改字典内key对应值的方法
2015/07/11 Python
不可错过的十本Python好书
2017/07/06 Python
python使用for循环计算0-100的整数的和方法
2019/02/01 Python
python内存动态分配过程详解
2019/07/15 Python
python实现横向拼接图片
2020/03/23 Python
Python数组拼接np.concatenate实现过程
2020/04/18 Python
绝对令人的惊叹的CSS3折叠效果(3D效果)整理
2012/12/30 HTML / CSS
5分钟弄清楚html5的drag and drop(小结)
2019/04/10 HTML / CSS
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
网上卖盒饭创业计划书
2014/01/26 职场文书
幼儿园教师奖惩制度
2014/02/01 职场文书
公开服务承诺制度
2014/03/26 职场文书
交通事故调解协议书
2014/04/16 职场文书
工作所在部门证明
2014/09/21 职场文书
2019 入党申请书范文
2019/07/10 职场文书
2019大学生暑期实习心得总结
2019/08/21 职场文书
mysql中int(3)和int(10)的数值范围是否相同
2021/10/16 MySQL