计算机网络/计算机科学与应用/系统/运维/开发

Vue3.x系列-class与style绑定

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>


无才无以立足,不苦不能成才。

评论

^