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 相关文章推荐
jQuery select操作控制方法小结
May 26 Javascript
JavaScript实现带缓冲效果的随屏滚动漂浮广告代码
Nov 06 Javascript
在js代码拼接dom对象到页面上去的模板总结(必看)
Feb 14 Javascript
jQuery源码解读之extend()与工具方法、实例方法详解
Mar 30 jQuery
使用Require.js封装原生js轮播图的实现代码
Jun 15 Javascript
详解Vuejs2.0 如何利用proxyTable实现跨域请求
Aug 03 Javascript
基于webpack.config.js 参数详解
Mar 20 Javascript
JS实现的简单下拉框联动功能示例
May 11 Javascript
vue指令只能输入正数并且只能输入一个小数点的方法
Jun 08 Javascript
jquery拖拽自动排序插件使用方法详解
Jul 20 jQuery
Vue的路由及路由钩子函数的实现
Jul 02 Javascript
vue 实现cli3.0中使用proxy进行代理转发
Oct 30 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实现保存submit内容之后禁止刷新
2014/03/19 PHP
PHP实现的迷你漂流瓶
2015/07/29 PHP
CI框架使用composer安装的依赖包步骤与方法分析
2016/11/21 PHP
php+ajax 文件上传代码实例
2019/03/18 PHP
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
2021/03/09 HTML / CSS
javascript flash下fromCharCode和charCodeAt方法使用说明
2008/01/12 Javascript
8个超棒的学习 jQuery 的网站 推荐收藏
2011/04/02 Javascript
js读取csv文件并使用json显示出来
2015/01/09 Javascript
JavaScript测试工具之Karma-Jasmine的安装和使用详解
2015/12/03 Javascript
JavaScript+html5 canvas绘制的小人效果
2016/01/27 Javascript
深入分析Javascript事件代理
2016/01/30 Javascript
vue-router 权限控制的示例代码
2017/09/21 Javascript
AngualrJs清除定时器遇到的坑
2017/10/13 Javascript
微信小程序实现点击按钮修改字体颜色功能【附demo源码下载】
2017/12/05 Javascript
微信小程序实现基于三元运算验证手机号/姓名功能示例
2019/01/19 Javascript
JavaScript ES6常用基础知识总结
2019/02/09 Javascript
浅谈发布订阅模式与观察者模式
2019/04/09 Javascript
node基于async/await对mysql进行封装
2019/06/20 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
2020/11/23 Javascript
python函数缺省值与引用学习笔记分享
2013/02/10 Python
Python读写txt文本文件的操作方法全解析
2016/06/26 Python
Python实现求笛卡尔乘积的方法
2017/09/16 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
关于Tensorflow使用CPU报错的解决方式
2020/02/05 Python
TensorFlow获取加载模型中的全部张量名称代码
2020/02/11 Python
python实现从尾到头打印单链表操作示例
2020/02/22 Python
Python 实现微信自动回复的方法
2020/09/11 Python
澳大利亚领先的在线礼品网站:Gifts Australia
2020/08/15 全球购物
一些高难度的SQL面试题
2016/11/29 面试题
顶碗少年教学反思
2014/02/21 职场文书
爱心捐书活动总结
2014/07/05 职场文书
2014最新版群众路线四风整改措施
2014/09/24 职场文书
禁毒心得体会范文
2016/01/15 职场文书
涨工资申请书应该怎么写?
2019/07/08 职场文书
成本低的5个创业项目:投资小、赚钱快
2019/08/20 职场文书
Python答题卡识别并给出分数的实现代码
2021/06/22 Python