vue绑定class与行间样式style详解


Posted in Javascript onAugust 16, 2017

一、绑定class属性的方式

1、通过数组的方式,为元素绑定多个class

<style>
  .red {
    color:red;
    /*color:#ff8800;*/
  }
  .bg {
    background: #000;
    /*background: green;*/
  }
  </style>


  window.onload = function(){
    var c = new Vue({
      el : '#box',
      data : {
        red_color : 'red',
        bg_color : 'bg'
      }
    });
  }



  <div id="box">
    <span :class="[red_color,bg_color]">this is a test string</span>
  </div>

上例为span 绑定2个class,通过设定red_color和bg_color的值,找到对应的class类名

2、通过控制class的true或者false,来使用对应的class类名, true: 使用该class,  false: 不使用该class

<style>
  .red {
    color:red;
  }
  .bg {
    background: #000;
  }
  </style>

  window.onload = function(){
    var c = new Vue({
      el : '#box',
      data : {
      }
    });
  }
  
  <div id="box">
    <span :class="{red:true,bg:true}">this is a test     string</span>
  </div>

3、这种方式,跟第二种差不多,只不过是把class的状态true/false用变量来代替

<style>
  .red {
    color:red;
  }
  .bg {
    background: #000;
  }
  </style>

  window.onload = function(){
    var c = new Vue({
      el : '#box',
      data : {
        r : true,
        b : false
      }
    });
  }

  <div id="box">
    <span :class="{red:r,bg:b}">this is a test string</span>
  </div>

4、为class属性绑定整个json对象

<style>
  .red {
    color:red;
  }
  .bg {
    background: #000;
  }
  </style>

  window.onload = function(){
    var c = new Vue({
      el : '#box',
      data : {
        json : {
          red : true,
          bg : false
        }
      }
    });
  }


  <div id="box">
    <span :class="json">this is a test string</span>
  </div>

 二、绑定style行间样式的多种方式

1、使用json格式,直接在行间写

window.onload = function(){
    var c = new Vue({
      el : '#box',
    });
  }

   <div id="box">
    <span :style="{color:'red',background:'#000'}">this is a test string</span>
  </div>

2、把data中的对象,作为数组的某一项,绑定到style

window.onload = function(){
    var c = new Vue({
      el : '#box',
      data : {
        c : {
          color : 'green'
        }
      }
    });
  }

  <div id="box">
    <span :style="[c]">this is a test string</span>
  </div>

3、跟上面的方式差不多,只不过是为数组设置了多个对象

window.onload = function(){
    var c = new Vue({
      el : '#box',
      data : {
        c : {
          color : 'green'
        },
        b : {
          background : '#ff8800'
        }
      }
    });
  }
<div id="box">
     <span :style="[c,b]">this is a test string</span>
  </div>

4、直接把data中的某个对象,绑定到style

window.onload = function(){
    var c = new Vue({
      el : '#box',
      data : {
        a : {
          color:'yellow',
          background : '#000'
        }
      }
    });
  }
<div id="box">
     <span :style="a">this is a test string</span>
</div>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 判断客户端浏览器类型代码
Mar 01 Javascript
javascript 事件绑定问题
Jan 01 Javascript
Jquery中val()表单取值赋值的实例代码
Aug 15 Javascript
javascript:void(0)是什么意思示例介绍
Nov 17 Javascript
JavaScript继承模式粗探
Jan 12 Javascript
基于Javascript实现返回顶部按钮
Feb 29 Javascript
Bootstrap基本样式学习笔记之表格(2)
Dec 07 Javascript
基于JQuery及AJAX实现名人名言随机生成器
Feb 10 Javascript
简单实现vue验证码60秒倒计时功能
Oct 11 Javascript
vue2.0 elementUI制作面包屑导航栏
Feb 22 Javascript
JS实现判断有效的数独算法示例
Feb 25 Javascript
JS中forEach()、map()、every()、some()和filter()的用法
May 11 Javascript
Vue的MVVM实现方法
Aug 16 #Javascript
利用JS制作万年历的方法
Aug 16 #Javascript
原生JavaScript来实现对dom元素class的操作方法(推荐)
Aug 16 #Javascript
React Native 集成jpush-react-native的示例代码
Aug 16 #Javascript
jQuery实现全选、反选和不选功能
Aug 16 #jQuery
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
Aug 16 #Javascript
微信小程序删除处理详解
Aug 16 #Javascript
You might like
PHP获取表单所有复选框的值的方法
2014/08/28 PHP
php微信开发之带参数二维码的使用
2016/08/03 PHP
php简单计算年龄的方法(周岁与虚岁)
2016/12/06 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
2017/08/25 PHP
Yii2框架自定义验证规则操作示例
2019/02/08 PHP
PHP设计模式之观察者模式定义与用法分析
2019/04/04 PHP
在javaScript中关于submit和button的区别介绍
2013/10/20 Javascript
javascript禁用Tab键脚本实例
2013/11/22 Javascript
Bootstrap树形控件使用方法详解
2016/01/27 Javascript
JavaScript DOM 对象深入了解
2016/07/20 Javascript
JavaScript浮点数及运算精度调整详解
2016/10/21 Javascript
Vue2.0 UI框架ElementUI使用方法详解
2017/04/14 Javascript
Angular利用trackBy提升性能的方法
2018/01/26 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
2018/05/13 Javascript
js input输入百分号保存数据库失败的解决方法
2018/05/26 Javascript
AngularJs的UI组件ui-Bootstrap之Tooltip和Popover
2018/07/13 Javascript
详解easyui基于 layui.laydate日期扩展组件
2018/07/18 Javascript
使用vue2.0创建的项目的步骤方法
2018/09/25 Javascript
Puppeteer 爬取动态生成的网页实战
2018/11/14 Javascript
Python实现压缩与解压gzip大文件的方法
2016/09/18 Python
Python基于回溯法子集树模板解决取物搭配问题实例
2017/09/02 Python
解决python大批量读写.doc文件的问题
2018/05/08 Python
Python获取Redis所有Key以及内容的方法
2019/02/19 Python
在Python中等距取出一个数组其中n个数的实现方式
2019/11/27 Python
Pytorch实现各种2d卷积示例
2019/12/30 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
2020/06/01 Python
会计学应届毕业生推荐信
2013/11/04 职场文书
七年级地理教学反思
2014/01/26 职场文书
优秀共产党员先进事迹材料
2014/05/06 职场文书
借款担保书范文
2014/05/13 职场文书
政府法律服务方案
2014/06/14 职场文书
2015年校医个人工作总结
2015/07/24 职场文书
2016年小学党支部创先争优活动总结
2016/04/05 职场文书
MySQL 使用自定义变量进行查询优化
2021/05/14 MySQL
spring项目中切面及AOP的使用方法
2021/06/26 Java/Android
微软官方消息,在 2023 年 4 月 11 日之后微软将不再为 Office 2013 和 Skype for Business 2015 提供安全更新
2022/04/21 数码科技