vue 绑定样式

对象语法

1.v-bind:class设置一个对象,动态切换class

  1. <div :class="{'active':isActive}">xxx</div>
  2. 样式是否起作用,根据isActive的布尔值是否为true

2.:class可以和class共存

  1. <div class="static" :class="{'active':isActive,'error':isError}">xxx</div>
    当isActive值为true,isError为false,样式为 static和isActive。
    当isActive值为false,isError为true,样式为 static和isError。
    当isActive值为true,isError为true ,样式为 static和isActive、isError

3. :class可以绑定数据中的对象

  1. <div class="static" :class="classobj">xxx</div>
  2. export default {
  3. data(){
  4. return{
  5. classobj:{ //可以直接绑定一个对象,对象里面有多个样式
  6. active:true,
  7. error:false
  8. }
  9. }
  10. }
  11. }

数组语法

4.v-bind:class设置一个数组

使用了数组就要在data中指定重命名

  1. <div class="static" :class="[activeCls,errorCls]">xxx</div>
  2. export default {
  3. data(){
  4. return{
  5. activeCls:'active', //相当于样式active样式在div中重命名 为activeCls
  6. errorCls:'error'
  7. }
  8. }
  9. }
  10. <style>
  11. .active{xxx}
  12. .error{xxx}
  13. </style>

5.三元表达式

  1. <template>
  2. <div id="app">
  3. <div class="static" :class="[isActive?activeCls:errorCls,baseClass]">xxx</div>
  4. </div>
  5. </template>
  6. <script>
  7. export default {
  8. data(){
  9. return{
  10. isActive:true,
  11. activeCls:'active', //当isActive值为true时,会执行activeCls对应的样式 active 并且执行baseClass对应的样式 baseclass
  12. errorCls:'error', //当isActive值为false时,会执行errorCls对应的样式 error 并且执行baseClass对应的样式 baseclass
  13. baseClass:'baseclass'
  14. }
  15. }
  16. }
  17. </script>
  18. <style scoped>
  19. .active{
  20. background: red;
  21. }
  22. .error{
  23. color: white;
  24. }
  25. .baseclass{
  26. text-align: center;
  27. }
  28. </style>

三元表达式

  1. <div class="coupon-img" :class="[item.ticket_type==1?'thirty-yuan':'fifty-yuan']">

6.数组语法中使用对象语法

  1. <template>
  2. <div id="app">
  3. <div class="static" :class="[{'active':isActive},baseClass]">xxx</div>
  4. </div>
  5. </template>
  6. <script>
  7. export default {
  8. data(){
  9. return{
  10. isActive:true, //因为isActive值为true,样式为active 和 baseClass对应的 baseclass 所以样式为 active、baseclass
  11. activeCls:'active',
  12. baseClass:'baseclass'
  13. }
  14. }
  15. }
  16. </script>
  17. <style scoped>
  18. .active{
  19. background: red;
  20. }
  21. .baseclass{
  22. text-align: center;
  23. }
  24. </style>

7.定义一个数组通过不同索引值获取不同样式

  1. <div class="icon" :class="classMap[support.type]"></div>
  2. created () {
  3. this.classMap = ["decrease", "discount", "guarantee", "invoice", "special"]
  4. },
  5. 根据support.type的数组变化,索引到classMap对应的样式

绑定内联样式

  1. <div id="app">
  2. <div :style="{color:cl,background:bk}">你好吗?</div></div>
  3. <script>
  4. new Vue({
  5. el:'#app',
  6. data:{
  7. cl:'red',
  8. bk:'yellow'
  9. }
  10. })
  11. </script>

直接绑定到一个样式对象,让模板更清晰:

  1. <div id="app">
  2. <div :style="testObj">你好吗?</div>
  3. </div>
  4. <script>
  5. new Vue({
  6. el:'#app',
  7. data:{
  8. testObj:{
  9. color:red;
  10. background:yellow;
  11. }
  12. }
  13. })
  14. </script>

vue 绑定样式的几种方式的更多相关文章

  1. vue组件通信的几种方式

    最近用vue开发项目,记录一下vue组件间通信几种方式 第一种,父子组件通信 一.父组件向子组件传值 1.创建子组件,在src/components/文件夹下新建一个Child.vue 2.Child ...

  2. 开发vue全局插件的4种方式

    定义全局插件的步骤 定义全局插件 pluginsUtil.js Vue.js 的插件应当有一个公开方法 install .这个方法的第一个参数是 Vue 构造器,第二个参数是一个可选的选项对象: ex ...

  3. JS与JQ绑定事件的几种方式.

    JS与JQ绑定事件的几种方式 JS绑定事件的三种方式 直接在DOM中进行绑定 <button onclick="alert('success')" type="bu ...

  4. Android_安卓为按钮控件绑定事件的五种方式

    一.写在最前面 本次,来介绍一下安卓中为控件--Button绑定事件的五种方式. 二.具体的实现 第一种:直接绑定在Button控件上: 步骤1.在Button控件上设置android:onClick ...

  5. HTML 引用Css样式的四种方式

    不才,只知道HTML引用CSS样式有四种方式,内部引用和外部引用各两种,因为老是忘记细节,记下了随时翻阅亦可方便如我般的初学者 内部引用方式1: 直接在标签内用 style 引用,如: <div ...

  6. 原生js更改css样式的两种方式

    下面我给大家介绍的是原生js更改CSS样式的两种方式: 1通过在javascript代码中的node.style.cssText="css表达式1:css表达式2:css表达式3  &quo ...

  7. 为input标签绑定事件的几种方式

    为input标签绑定事件的几种方式 1.JavaScript原生态的方式,直接复制下面的代码就会有相应的效果 <!DOCTYPE html><html><head> ...

  8. python 中增加css样式的三种方式

    增加css样式的三种方式: <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...

  9. 【javascript】原生js更改css样式的两种方式

    下面我给大家介绍的是原生js更改CSS样式的两种方式: 1通过在javascript代码中的node.style.cssText="css表达式1:css表达式2:css表达式3  &quo ...

随机推荐

  1. 经典排序算法 — C# 版(上)

    提起排序,与我们的息息相关,平时开发的代码少不了排序. 经典的排序算法又非常多,我们怎么评价一个排序算法的好坏呢? 其实可以这样想,要细致的比较排序算法好坏,那我们就从多方面尽可能详细的对比 一.效率 ...

  2. Oracle AWRSQRPT报告生成和性能分析

    我写的SQL调优专栏:https://blog.csdn.net/u014427391/article/category/8679315 对于局部的,比如某个页面列表sql,我们可以使用Oracle的 ...

  3. Python爬虫入门教程 44-100 Charles的安装与使用-手机APP爬虫部分

    1. 第二款抓包工具Charles安装与使用 Charles和Fiddler一样,也是一款抓包工具,比Fiddler界面更加清晰,支持多平台 1.1 官方网址 https://www.charlesp ...

  4. js实现二分查找算法

    二分查找:是一种搜索某个值的索引的算法. 基本条件:有序的数组. 思路:1.将数组折半,分成左右两个数组. 2.判断要查找的数和中间位置数值的大小,来判断要查找的数实在哪一半. 3.之后继续折半查找, ...

  5. 一段JAVA代码了解多线程,JUC、CAS原子性操作。

    @Test public void testPaceController_multiThread() throws InterruptedException { final PaceControlle ...

  6. 搞懂Redis到底快在哪里

    前言 Redis是一种基于键值对(Key-Value)的NoSQL数据库,Redis的Value可以由String,hash,list,set,zset,Bitmaps,HyperLogLog等多种数 ...

  7. C# Lambda表达式和linq表达式 之 匿名对象查询接收

    很多小伙伴都用过Lambda表达式和linq表达式,用起来也得心应手,但是有的小伙伴 对匿名对象的查询与接收比较迷茫,(没有定义相应的实体),怎么在where()里面进行 条件筛选呢?常规用法我就不说 ...

  8. 粮草先行——Android折叠屏开发技术点(一)

    最近有关折叠屏产品的新闻层出不穷,各家手机厂商也分别慢慢地亮出了自家的产品.然而市场上的一些APP仍然没有很好地适配这样的设备,显示不正常和应用重启的状况时有发生.因此,我会用接下来的几篇文章来点出有 ...

  9. PC打开多个微信

    打开记事本 在哪个盘就打开哪个盘 例如我的D盘 输入这一串 D:CD 微信路径start WeChat.exe&WeChat.exe 保存然后改后缀名为.bat 然后运行 运行前要关掉之前开的 ...

  10. jQuery中的prop()和attr()的区别

    1.jQuery中的prop()和attr()的区别 prop()是在jQuery1.6版本之后才有的,在之前一直都是使用attr(), prop()修复了attr()的一些小bug. 2.推荐用法: ...