vue 绑定样式的几种方式

vue 绑定样式

对象语法

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

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

2.:class可以和class共存

<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可以绑定数据中的对象

<div class="static" :class="classobj">xxx</div>
export default {
  data(){
    return{
      classobj:{               //可以直接绑定一个对象,对象里面有多个样式
        active:true,
        error:false
      }
    }
  }
}

数组语法

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

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

<div class="static" :class="[activeCls,errorCls]">xxx</div>
export default {
  data(){
    return{
      activeCls:‘active‘,      //相当于样式active样式在div中重命名 为activeCls
      errorCls:‘error‘
    }
  }
}
<style>
    .active{xxx}
    .error{xxx}
</style>

5.三元表达式

<template>
  <div id="app">
    <div class="static" :class="[isActive?activeCls:errorCls,baseClass]">xxx</div>
  </div>
</template>
<script>
export default {
  data(){
    return{
      isActive:true,
      activeCls:‘active‘,           //当isActive值为true时,会执行activeCls对应的样式 active 并且执行baseClass对应的样式 baseclass
      errorCls:‘error‘,             //当isActive值为false时,会执行errorCls对应的样式 error 并且执行baseClass对应的样式 baseclass
      baseClass:‘baseclass‘
    }
  }
}
</script>
<style scoped>
.active{
  background: red;
}
.error{
  color: white;
}
.baseclass{
  text-align: center;
}
</style>

三元表达式

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

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

<template>
  <div id="app">
    <div class="static" :class="[{‘active‘:isActive},baseClass]">xxx</div>
  </div>
</template>
<script>
export default {
  data(){
    return{
      isActive:true,                   //因为isActive值为true,样式为active 和 baseClass对应的 baseclass 所以样式为 active、baseclass
      activeCls:‘active‘,
      baseClass:‘baseclass‘
    }
  }
}
</script>
<style scoped>
.active{
  background: red;
}
.baseclass{
  text-align: center;
}
</style>

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

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

绑定内联样式

<div id="app">
    <div :style="{color:cl,background:bk}">你好吗?</div></div>
<script>
    new Vue({
        el:‘#app‘,
        data:{
            cl:‘red‘,
            bk:‘yellow‘
        }
    })
</script>

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

<div id="app">
        <div :style="testObj">你好吗?</div>
</div>
<script>
    new Vue({
        el:‘#app‘,
        data:{
            testObj:{
                color:red;
                background:yellow;
            }
        }
    })
</script>

原文地址:https://www.cnblogs.com/zjx304/p/9889317.html

时间: 2024-11-08 01:54:26

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

关于Vue动态绑定样式的几种方式

一.按钮数组,选中时,样式改变(小程序 + vant weapp ,其他的按照需求改改便好) 1.Template: <view v-for="(item, index) in size" :key="index" class="standard-button-single"> <van-button :color="active == index ? '#EC792F':'#EEEFF0'" :custom

vue组件通信的几种方式

最近用vue开发项目,记录一下vue组件间通信几种方式 第一种,父子组件通信 一.父组件向子组件传值 1.创建子组件,在src/components/文件夹下新建一个Child.vue 2.Child.vue的中创建props,然后创建一个名为message的属性 child.png 3.在App.vue中注册Child组件,并在template中加入child标签,标签中添加message属性并赋值 App2.png 4.保存修改的文件,查看浏览器 browser.png 5.我们依然可以对m

jQuery绑定事件的四种方式:bind、live、delegate、on

1.jQuery操作DOM元素的绑定事件的四种方式 jQuery中提供了四种事件监听方式,分别是bind.live.delegate.on,对应的解除监听的函数分别是unbind.die.undelegate.off. 2.必备的基础知识: DOM树 示例,这是在browser环境下的一棵模拟DOM树: 我们的页面可以理解为一棵DOM树,当我们在叶子结点上做什么事情的时候(如click一个a元素),如果我们没有人为的设置stopPropagation(Moder Browser), cancel

jQuery绑定事件的四种方式

jQuery绑定事件的四种方式 jQuery提供了多种绑定事件的方式,每种方式各有其特点,明白了它们之间的异同点,有助于我们在写代码的时候进行正确的选择,从而写出优雅而容易维护的代码.下面我们来看下jQuery中绑定事件的方式都有哪些. jQuery中提供了四种事件监听方式,分别是bind.live.delegate.on,对应的解除监听的函数分别是unbind.die.undelegate.off.在开始看他们之前 一:bind(type,[data],function(eventObject

我给女朋友讲编程CSS系列(1) –添加CSS样式的3种方式及样式表的优先权

如果说,原生态就是美,那么,我们就没有必要穿衣打扮. 网页是什么? 说白了,网页就是一堆[html标签]有序的搭配,让[CSS属性值]整整容,请[Javascript语言]处理一下事件. 一个人的整容效果,很大程度上取决于Ta本人,也就是原材料,对网页来说,原材料就是html标签,因此设计优秀的html标签结构十分重要. 整容医生的作用也至关重要,割双眼皮,整容医生的基本功,不同医生割出来的效果不同. 作为一个网页设计师,我们是不是应该追求完美,尽最大努力,让网页漂亮一些. 我知道,我们往往自称

WPF设置样式的几种方式

第一种方式是直接使用Setter来进行,可以对Background等进行设置. <Window.Resources> <Style TargetType="Button"> <Setter Property="Background" Value="Red"/> </Style></Window.Resources> 第二种是直接将比较复杂一点的Style放置到Window.Resourc

[微信小程序] 微信小程序下拉滚动选择器picker绑定数据的两种方式

微信小程序下拉滚动选择器picker绑定数据的两种方式  本地数据绑定和wx.request(OBJECT) json数据绑定 1.本地数据绑定 (对象数组) Page({ data:{ //户型 这是一个本地的对象,然后绑定到页面上 pic_array: [ { id: 13, name: '1室1厅1卫' }, { id: 14, name: '1室2厅1卫' }, { id: 15, name: '2室1厅1卫' }, { id: 16, name: '3室1厅2卫' }, { id: 1

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

增加css样式的三种方式: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <!--head中style是第一处写css样式的地方--> 7 <style> 8 .cl{ 9 /*背景色*/ 10 background-color

详解vue 路由跳转四种方式 (带参数)

详解vue 路由跳转四种方式 (带参数):https://www.jb51.net/article/160401.htm 1.  router-link ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1. 不带参数  <router-link :to="{name:'home'}"> <router-link :to="{path:'/home'}"> //name,path都行, 建议用name /