Vue3.x系列-绑定html样式(class)
<style> [v-cloak]{ display: none; } .outside{ width:200px; height:100px; border:1px solid red; text-align: center; } .inside{ width:100px; height:50px; border:1px solid black; margin:15% 25%; } .class1{ background: red; font-size:20px; text-align: center; line-height: 100px; } .class2{ width:400px; height:100px; } </style> <body> <div id="app"> <h2>数组语法1--静态类名方式</h2> <p>使用数组绑定样式的方式,直接在数组中写上样式的类名</p> <!-- v-bind:class="[class1,'class2']" 注意:如果不使用单引号包裹类名,其实代表的还是一个变量的名称,会出现错误信息 --> <div class="static" v-bind:class="['class1','class2']">{{ message }}</div> <h2>数组语法2--变量的方式</h2> <p>以变量的方式定义样式,需要先定义这个变量</p> <div class="static" v-bind:class="[class3,class4]">{{ message }}</div> <h2>数组语法3--对象语法形式</h2> <p>根据值的真假控制样式</p> <div class="static"v-bind:class="[{class1:boole},'class2']">{{ message }}</div> <br> <h2>对象语法</h2> <p>对象的属性为样式的类名,value则为true或者false,当值为true时显示样式。由于对象的属性可以带引号,也可以不带引号</p> <div class="static" v-bind:class="{class1:boole1,'class2':boole2}">{{ message }}</div> <p>将对象中的属性全部写在对象变量</p> <div class="static" v-bind:class="objStyle">{{ message }}</div> <p>绑定一个返回对象的计算属性</p> <div class="static" v-bind:class="classObject">{{ message }}</div> </div> <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script> <script> const vm = Vue.createApp({ data(){ return{ message:"Hello Vue", class3:'class1', class4:'class2', boole:true, boole1:true, boole2:true, objStyle:{ class1:true, class2:true } } }, // 计算属性 computed:{ classObject:function(){ return { class1:this.boole1, 'class2':this.boole2 } } },//监听器 watch:{ },// 方法 methods:{ } }).mount('#app') </script> </body>