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 相关文章推荐
jQuery EasyUI API 中文文档 - Calendar日历使用
Oct 19 Javascript
页面调用单个swf文件,嵌套出多个方法。
Nov 21 Javascript
jquery遍历checkbox介绍
Feb 21 Javascript
jquery简单实现幻灯片的方法
Aug 03 Javascript
纯javascript判断查询日期是否为有效日期
Aug 24 Javascript
Bootstrap弹出带合法性检查的登录框实例代码【推荐】
Jun 23 Javascript
jQuery ajax方法传递中文时出现中文乱码的解决方法
Jul 25 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
Jan 10 Javascript
详解Angular2响应式表单
Jun 14 Javascript
js 中rewrap-ajax.js插件实例代码
Oct 20 Javascript
Vue如何实现响应式系统
Jul 11 Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
Nov 12 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
PHP4实际应用经验篇(5)
2006/10/09 PHP
PHP 抽象方法与抽象类abstract关键字介绍及应用
2014/10/16 PHP
PHP处理postfix邮件内容的方法
2015/06/16 PHP
thinkPHP框架实现图像裁剪、缩放、加水印的方法
2017/03/14 PHP
PHP API接口必备之输出json格式数据示例代码
2017/06/27 PHP
Laravel 实现关系模型取出需要的字段
2019/10/10 PHP
JavaScript的作用域和块级作用域概念理解
2014/09/21 Javascript
node.js中的querystring.parse方法使用说明
2014/12/10 Javascript
jquery插件unobtrusive实现片段式加载
2015/06/15 Javascript
举例讲解如何判断JavaScript中对象的类型
2016/04/22 Javascript
详解Angular 4.x NgTemplateOutlet
2017/05/24 Javascript
简单实现jQuery轮播效果
2017/08/18 jQuery
JS中图片压缩的方法小结
2017/11/14 Javascript
在vscode里使用.vue代码模板的方法
2018/04/28 Javascript
nodejs中express入门和基础知识点学习
2018/09/13 NodeJs
package.json中homepage属性的作用详解
2020/03/11 Javascript
vue实现给div绑定keyup的enter事件
2020/07/31 Javascript
基于ant design日期控件使用_仅月份的操作
2020/10/27 Javascript
vue element-ui中table合计指定列求和实例
2020/11/02 Javascript
JavaScript 获取滚动条位置并将页面滑动到锚点
2021/02/08 Javascript
[01:18:35]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第一场 1月29日
2021/03/11 DOTA
Python中函数参数调用方式分析
2018/08/09 Python
Django中数据库的数据关系:一对一,一对多,多对多
2018/10/21 Python
python中for循环输出列表索引与对应的值方法
2018/11/07 Python
python实现感知器算法(批处理)
2019/01/18 Python
Python 函数用法简单示例【定义、参数、返回值、函数嵌套】
2019/09/20 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
纯css实现照片墙3D效果的示例代码
2017/11/13 HTML / CSS
体育专业个人的求职信范文
2013/09/21 职场文书
函授毕业自我鉴定
2013/12/19 职场文书
2014乡镇党政班子四风问题思想汇报
2014/09/14 职场文书
2014年科室工作总结
2014/11/20 职场文书
2019消防宣传标语!
2019/07/10 职场文书
使用 Apache Dubbo 实现远程通信(微服务架构)
2022/02/12 Servers
Vue中Object.assign清空数据报错的解决方案
2022/03/03 Vue.js
Python+SeaTable实现计算两个日期间的工作日天数
2022/07/07 Python