zoukankan      html  css  js  c++  java
  • 3. vue中的class和style的动态绑定

    1. 动态绑定class

      * 对象方式处理
        1. 直接写在结构上
           * 语法 -- :class = " { 样式类名,响应式数据 } "  当响应式数据为TRUE的时候,才会有这个样式
           * 例子:`
                   <div 
                    class="test"
                    :class="{ active: isActive }"
                  >
                  Ananiah
                  </div>
    
                  data() {
                    return {
                      isActive: true
                    };
                  },
                  // 渲染dom 结果
                  <div class="test active"> Ananiah </div>
                  `
           * 注意 -- v-bind:class 指令也可以与普通的class共存
        2. 写在响应式数据中
            * 语法 -- :class = " 响应数据(对象) "
            * 例子:` <div 
                        class="test"
                        :class="{ active: isActive }"
                      >
                      Ananiah
                      </div>
    
                      data() {
                        return {
                          classObj: {
                            active: true,
                            'text-danger': true
                          }
                        };
                      },
                      `
            * 渲染结果: <div class="active text-danger"> Ananiah </div>
         3. 写在计算属性中
            * 语法 -- :class=" 返回的是对象的计算属性 "
            * 例子:
                  `
                  <div
                  :class="classObject"
                  >
                  Ananiah
                  </div>
    
                  computed: {
                    classObject: function() {
                      return {
                        active: this.isActive && !this.error
                      }
                    }
                  },
                  `
        * 数组控制样式类
          1. 语法 -- :class=" [ 响应式数据1, ... ] "  -- 控制响应式数据的值是对应的样式类或者没有值,来控制是否有这个样式
          2. 例子 -- `
                    <div
                    :class="[ activeClass, errorClass ]"
                    >
                    Ananiah
                    </div>
    
                    data() {
                      return {
                        activeClass: "active",
                        errorClass: "text-danger"
                      };
                    },
                    `        
          3. 渲染结果:<div class="active text-danger"> Ananiah </div>
          4. 注意:
             * 1. 如果想根据条件切换列表中的class,可以用三元表达式  <div :class="[ active ? isActive : active ]"> Ananiah </div>
             * 2. 在数组语法中也可以使用对象语法   <div :class="[ { active: isActive }, errorClass ]"> Ananiah </div>
    

    控制style样式

    * 与控制动态class类名基本一致
    * 注意 -- 可以用驼峰式( camelCase )或者短横线( kebab-case )分割来命名
  • 相关阅读:
    Python深入05 装饰器
    Python深入04 闭包
    Python深入03 对象的属性
    Ubuntu (虚拟机同样) 更换内核?
    .out
    GCC 编译详解
    linux 编译内核 /boot空间不足?
    Java Swing提供的文件选择对话框
    Java Swing 实时刷新JTextArea,以显示不断append的内容?
    为什么要编译Linux内核?
  • 原文地址:https://www.cnblogs.com/Ananiah/p/14970528.html
Copyright © 2011-2022 走看看