您当前的位置:首页 > 网站建设 > javascript
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery | 小程序 |

Vue绑定class和绑定内联样式的实现方法

51自学网 2022-02-21 13:38:23
  javascript

绑定class

方式一:

对象语法:给 v-bind:class传 一个对象,以动态地切换 class
当对象中某key对应的值为true时,该key做为className被添加到标签上

.box {    width: 100px;    height: 100px;    background-color: gray;}.circle {    border-radius: 50%;}
<div id="app">    <div class="box" @click="isCircle = !isCircle" :class="{circle:isCircle}"></div>    <!--当isCircle为true时,该div的class名多加一个circle-->    <p>{{isCircle}}</p></div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>    new Vue({        el:"#app",        data:{            isCircle: false        }    })</script>

初始化时box为方形,点击时切换成圆形,再次点击,切换成方形,以此类推

:class="{circle:isCircle}"还可以写到计算属性computed里,return这个对象

<div class="box" @click="isCircle = !isCircle" :class="divChange"></div>
computed:{        divChange:function(){            return {circle:this.isCircle}        }    }

方式二:
数组语法:把一个数组传给 v-bind:class,以应用一个 class 列表
css多加一个蓝色背景的效果:

.blue {    background-color: blue;}
<div id="app">    <div class="box" v-on:click="clickFun()" :class="[color,divChange()]"></div>    <p>{{isCircle}}</p></div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>    new Vue({        el:"#app",        data:{            isCircle: false,            color:""        },        methods:{            divChange: function(){                return {circle:this.isCircle}            },            clickFun: function(){                this.isCircle = !this.isCircle;                if (this.isCircle){                    this.color = "blue"                }else{                    this.color = ""                }            }        }    })</script>

绑定内联样式

绑定内联样式同样可以用对象语法或数组语法,此处用对象语法和计算属性结合的方法实例:

<div id="app"> <!--绑定内联样式-->    <div class="box" v-on:click="clickFun()" :style="divStyle"></div>    <p>{{isCircle}}</p></div>

divStyle:

divStyle: function(){    return {        backgroundColor:this.color    }}

这样就可以将想要的颜色设置到.box上了

小demo:

1.点击box时,切换圆形和方形
下载地址:
TypeScript环境搭建并且部署到VSCode的详细步骤
聊聊vue集成sweetalert2提示组件的问题

万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。