<div id="root">
<!-- 绑定class样式--字符串写法,适用于:样式的类名不确定,需要动态指定 -->
<div class="basic" :class="mood" @click="changeMood">{{name}}</div> <br /><br />
<!-- 绑定class样式--数组写法,适用于:要绑定的样式个数不确定、名字也不确定 -->
<div class="basic" :class="classArr">{{name}}</div> <br /><br />
<!-- 绑定class样式--对象写法,适用于:要绑定的样式个数确定、名字也确定,但要动态决定用不用 -->
<div class="basic" :class="classObj">{{name}}</div> <br /><br />
<!-- 绑定style样式--对象写法 -->
<div class="basic" :style="styleObj">{{name}}</div> <br /><br />
<!-- 绑定style样式--数组写法 -->
<div class="basic" :style="styleArr">{{name}}</div>
</div>
.basic {
width: 400px;
height: 100px;
border: 1px solid black;
}
.happy {
border: 4px solid red;
background-color: #ffff00a4;
background: linear-gradient(30deg, yellow, pink, orange, yellow);
}
.sad {
border: 4px dashed #02c502;
background-color: gray;
}
.normal {
background-color: skyblue;
}
.atguigu1 {
background-color: yellowgreen;
}
.atguigu2 {
font-size: 30px;
text-shadow: 2px 2px 10px red;
}
.atguigu3 {
border-radius: 20px;
}
Vue.config.productionTip = false;
const vm = new Vue({
el: "#root",
data: {
name: "尚硅谷",
mood: "normal",
classArr: ["atguigu1", "atguigu2", "atguigu3"],
classObj: {
atguigu1: false,
atguigu2: false
},
styleObj: {
fontSize: "40px",
color: "red"
},
styleObj2: {
backgroundColor: "orange"
},
styleArr: [
{
fontSize: "40px",
color: "blue"
},
{
backgroundColor: "gray"
}
]
},
methods: {
changeMood() {
const arr = ["happy", "sad", "normal"];
// 随机获取一个 类的下标
const index = Math.floor(Math.random() * 3);
this.mood = arr[index];
}
}
});
This Pen doesn't use any external CSS resources.