遇见 vue.js --------阿文的vue.js学习笔记(6)------ Class 与 Style 绑定

遇见 vue.js --------阿文的vue.js学习笔记(6)------ Class 与 Style 绑定

**
新学习新征程,我们一起踏上学习 vue.js的新长征

遇见 vue.js --------阿文的vue.js学习笔记(1)-----初识vue.js

遇见 vue.js --------阿文的vue.js学习笔记(2—1)----- 基本使用 [1]

遇见 vue.js --------阿文的vue.js学习笔记(2—2)----- 基本使用 [2]

… … …

遇见 vue.js --------阿文的vue.js学习笔记(目录)

       关注我,我们一起学习进步。

**

绑定 HTML Class

      首先要绑定 Class 肯定要用到 v-bind:class

1、对象语法:

含义: 通过传给 v-bind:class 一个对象,以动态地切换 class

(1)你可以通过传入数据属性的方式将其绑定 v-bind:class:" "

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="vue.js"></script>

        <style>
        //这里是class属性
        .b{<!-- -->
            color: skyblue;
            width: 100px;
            height: 100px;
            border: 2px solid red;
            }               
        </style>
    </head>
    <body>
        <div id="a">
        //通过在data内声明属性,然后在这里绑定
            <div v-bind:class="cls">123</div>
        </div>        
        <script>
            new Vue({<!-- -->
                el:"#a",
                data:{<!-- -->
                    cls:"b"
                }
            })
        </script>
    </body>
</html>

当然你也可以使用 v-bind:class:"{ }" 在这里插入图片描述
当我们 需要绑定的 class 属性 多了之后我们也可以在 data 里面直接声明一个 数据组:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="vue.js"></script>

        <style>
        .a{<!-- -->
            color: skyblue;
            border: 2px solid red;
        }
        .b{<!-- -->         
            width: 100px;
            height: 100px;          
            }
        .c{<!-- -->
            background-color: aqua;
        }
        </style>
    </head>
    <body>
        <div id="a">
            <div v-bind:class="classobject">123</div>
        </div>

        <script>
            new Vue({<!-- -->
                el:"#a",
                data:{<!-- -->
                    classobject:{<!-- -->
                        a:true,
                        b:true,
                        c:true
                    }
                }
            })
        </script>
    </body>
</html>

即我们的 classobject 属性 直接将其绑定进去即可。

当然也可以将其改为我们的计算属性,效果也是一样,

    computed:{<!-- -->
                    classobject:function(){<!-- -->
                        return{<!-- -->
                            a:true,
                            b:true,
                            c:true
                        }
                    }
                }
2、数组语法

含义: 通过传给 v-bind:class 一个数组,以应用一个 class 列表。

语法: v-bind:class="[ ]"

举个例子:由于同样是上面那个例子 的写法不同,下面我就只截图关键部分,其他部分的代码请看上面。

很显然这样也是完全可以的      当然如果你想加入条件isAcitive 来切换我们的class ,可以用三元语法{ isActive? cls : " "},但是这样的话,一旦数组中 数据变多 ,那么三元语法 将会变得十分繁琐。 在这里插入图片描述

你可以发现这样也是可以的,但是引号内就要写它原本的东西,就不能在写 cls3 了

3、用在组件上

前面有写过组件的笔记,复习请看 遇见 vue.js --------阿文的vue.js学习笔记(2—2)----- 基本使用 [2]

下面我们先来写个组件然后将其渲染进我们的 html 界面
在这里插入图片描述

补充写组件时 ,如果用的引号 那么是不能换行的 ,但是在ES6的语法中我们可以用 强调符(就是我们字母键盘上 数字1键左边的那个键) 来,中间的内容就可以换行不影响我们的执行结果。

这个时候我们需要进行绑定点击事件:就直接绑定即可用我们前面的语法是完全可以的 下面我们来说一说在组件上绑定class。这些 class 将会被添加到该组件的根元素上面。这个元素上已经存在的 class 不会被覆盖。

根元素就是那个最外面的大盒子

举个例子:可以看出我们添加的class属性是添加到的 我们最外面的 那个大盒子 div 上的
在这里插入图片描述

4、绑定内联样式

我们的内联样式就是直接将需要渲染的样式直接添加进我们的 盒子里去

简单回顾:内联样式 就是这样直接添加进去 下面我们来进行绑定内联样式,内联样式的绑定 同样也分为上面的 对象语法、数组语法等

下面我们都用上面的 例子来举例: 当然绑定到一个样式对象也是完全可以的

在这里插入图片描述

当然 也可以写在计算属性里面。

内联样式 数组语法就是 可以将多个样式对象 都同时应用上去:像下面这样 有多个样式对象的时候,就可以用数组语法来同时渲染

在这里插入图片描述

最后补充一个东西,当 我们 v-bind:style 使用需要添加浏览器引擎前缀的 CSS 属性 时,如 transform,Vue.js 会自动侦测并添加相应的前缀(因为在不同的浏览器中需要的前缀不一样,但是vue会自动检测,就不需要我们去写前缀)。

** 在这里插入图片描述       “生活需要烟火 也需要静静的美好 不用刻意的去迎合 有趣的人会相互迎合”

posted @ 2020-12-30 11:10  刘桓湚  阅读(57)  评论(0编辑  收藏  举报