Vue class数据绑定 和style绑定的笔记

绑定 HTML Class

对象语法
我们可以传给 v-bind:class 一个对象,以动态地切换 class 个格式如下

<div v-bind:class="{ key:value, key:value}"></div>
<div v-bind:class="{ 类名:boolean,  类名2:boolean}"></div>
  <!-- 报错写法 -->
 <div :class="{ 'a', 'b' }">1111</div>
  <div :class="{ a b }">1111</div>
  <!-- 不生效写法 -->
 <div :class="{ a, b }">1111</div>

例如:
(类名不加引号,类型有“-”类似“van-radio” 绑定的时候 必须加引号)

	  <!-- 加引号情况 -->
   <div  :class="{ 'dis-img-icon': isClick }">aaa</div>
   <div :class="{ a: true, b: true, c: false }">aaa</div>
     <div :class="{ a: isActive, b: hasError, c: isActive }">aaa</div>
   <div :class="classObj">1111</div>

v-bind:class 指令也可以与普通的 class attribute 共存。当有如下模板:

  <div :class="{ b: isActive }" class="a">aaa</div>

如果过于复杂,也可以放在一个methods 或者computed 中

      <div :class="getClass()">1111</div>

数组语法
(类名加引号)


 <!-- 数组带引号 为样式名称或者字符串  不带引号则是变量 -->
      <div :class="['b', 'c']" class="a">1111</div>
      <div :class="[x, z]" class="a">1111</div>
 <!-- 如果你也想根据条件切换列表中的 class,可以用三元表达式: -->
      <div :class="[isActive ? y : z]" class="a">1111</div>

绑定内联样式

v-bind:style 的对象语法十分直观——看着非常像 CSS,但其实是一个 JavaScript 对象。CSS property 名可以用驼峰式 (camelCase) 或短横线分隔 (kebab-case,记得用引号括起来) 来命名:

   <!-- 绑定写法 -->
      <!-- <div :style="{key属性名:value(属性值)}"></div> -->
      <!-- 50px加引号  否者变成变量使用 -->
      <div :style="{ fontSize: '50px' }">ccc</div>
      <div :style="{ fontSize: hasError ? '50px' : '20px' }">ccc</div>
      //多属性 用“,”隔开 不是“;” 
      <div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>

export default {
  data() {
    return {
  return {
      x: "a",
      y: "b",
      isActive: true,
      hasError: false,
      classObj: {
        a: true,
        b: true,
        c: false
      }
    };
  },
    methods: {
    getClass() {
      return {
        a: this.isActive,
        b: this.hasError,
        c: this.isActive
      };
    }
  }
};
</script>
<style lang="less" scoped>
.a {
  width: 100px;
  height: 100px;
}
.b {
  font-size: 20px;
  background: red;
}
.c {
  background: blue;
}

</style>

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值