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 For Beginners(转载)
Jan 05 Javascript
基于jquery的无刷新分页技术
Jun 11 Javascript
javascript控制swfObject应用介绍
Nov 29 Javascript
Jquery轮播效果实现过程解析
Mar 30 Javascript
ES6教程之for循环和Map,Set用法分析
Apr 10 Javascript
Vue 通过自定义指令回顾v-内置指令(小结)
Sep 03 Javascript
Vue监听数据渲染DOM完以后执行某个函数详解
Sep 11 Javascript
图文讲解用vue-cli脚手架创建vue项目步骤
Feb 12 Javascript
小程序封装路由文件和路由方法(5种全解析)
May 26 Javascript
vue模块移动组件的实现示例
May 20 Javascript
Nuxt的路由配置和参数传递方式
Nov 06 Javascript
element-ui封装一个Table模板组件的示例
Jan 04 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的cms
2010/12/19 PHP
php数据库配置文件一般做法分享
2012/07/07 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
JavaScript调用Activex控件的事件的实现方法
2010/04/11 Javascript
Jquery知识点一 Jquery的ready和Dom的onload的区别
2011/01/15 Javascript
jQuery快速上手:写jQuery与直接写JS的区别详细解析
2013/08/26 Javascript
按下Enter焦点移至下一个控件的实现js代码
2013/12/11 Javascript
js 获取元素在页面上的偏移量的方法汇总
2015/04/13 Javascript
jQuery幻灯片带缩略图轮播效果代码分享
2015/08/17 Javascript
javascript发送短信验证码实现代码
2015/11/12 Javascript
js实现滚动条滚动到某个位置便自动定位某个tr
2021/01/20 Javascript
老生常谈原生JS执行环境与作用域
2016/11/22 Javascript
详解Angular中通过$location获取地址栏的参数
2018/08/02 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
2019/07/30 Javascript
js实现点赞效果
2020/03/16 Javascript
python实现统计代码行数的方法
2015/05/22 Python
使用Python的Twisted框架编写非阻塞程序的代码示例
2016/05/25 Python
matplotlib实现区域颜色填充
2019/03/18 Python
docker django无法访问redis容器的解决方法
2019/08/21 Python
Python 合并多个TXT文件并统计词频的实现
2019/08/23 Python
利用Python小工具实现3秒钟将视频转换为音频
2019/10/29 Python
python基于K-means聚类算法的图像分割
2019/10/30 Python
pycharm实现在虚拟环境中引入别人的项目
2020/03/09 Python
python函数调用,循环,列表复制实例
2020/05/03 Python
python如何将图片转换素描画
2020/09/08 Python
谈谈对css属性box-sizing的了解
2017/01/04 HTML / CSS
CSS3 分类菜单效果
2019/05/27 HTML / CSS
美国领先的奢侈手表在线零售商:WatchMaxx
2017/12/17 全球购物
企业厂长岗位职责
2013/12/17 职场文书
大学军训感言800字
2014/02/27 职场文书
给校长的建议书400字
2014/05/15 职场文书
爱与责任师德演讲稿
2014/08/26 职场文书
医生见习报告范文
2014/11/03 职场文书
2014年双拥工作总结
2014/11/21 职场文书
深入理解Pytorch微调torchvision模型
2021/11/11 Python