vue中class的用法

最近学习了vue中class和class的用法,想来总结一下,也把我的知识提供给大家使用;首先来总结class的用法,vue中的class有4种写法;class和style都属于DOM属性,所以在vue中都用:class和:style表示

<style>

  .red{color:red;}

  .blue{background-color:blue;}

</style>

想给id为box的元素加上这些样式

方法一

<div id="box">
  <strong :class="[reds,blues]">凉凉三生三世,为你四年成河水<strong>   
</div>
引入vue.js文件是必须的(自行引入)
<script>
  new Vue({
    el:"#box",
    data:{
        reds:"red",   //此处的red和blue指的是style中的red类和blue类
       blues:"blue"
    }
  });
</script>
结果是id为box的div字体和红色,背景为蓝色
 
方法二
 
<div id="box">
  <strong :class="{red:true,blue:false}">凉凉三生三世,为你四年成河水<strong>   
</div>
<script>
  new Vue({
    el:"#box",
    data:{}
  });
</script>
结果是id为box的div的字体颜色为红色,背景色不为蓝色
 
方法三
<div id="box">
  <strong :class="json">凉凉三生三世,为你四年成河水<strong>   
</div>
<script>
  new Vue({
    el:"#box",
    data:{  //把属性都放在一个对象里面
      json:{
        red:false,
        blue:true
      }
    }
  });
</script>
结果是id为box的div的字体颜色为默认颜色,背景色为蓝色
 
方法四
<div id="box">
  <strong :class="{red:a,bule:b}">凉凉三生三世,为你四年成河水<strong>   
</div>
<script>
  new Vue({
    el:"#box",
    data:{  
      a:true,
      b:false
    }
  });
</script>
结果是id为box的div的字体为红色,背景色不为蓝色
posted @ 2017-05-16 16:13  与鱼儿  阅读(27905)  评论(1编辑  收藏  举报