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 )分割来命名
  • 相关阅读:
    B+树的Copy-on-Write设计
    so库链接和运行时选择哪个路径下的库?
    Xapian索引-文档检索过程分析之匹配百分比
    Xapian索引-文档检索过程分析
    Xapian的内存索引-添加文档
    Xapian的内存索引
    Xapian使用入门
    一个std::sort 自定义比较排序函数 crash的分析过程
    编译GCC4.8.2
    使用C++11的一点总结
  • 原文地址:https://www.cnblogs.com/Ananiah/p/14970528.html
Copyright © 2011-2022 走看看