<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>样式绑定</title> <style> .basic { width: 400px; height: 100px; border: 1px solid black; } .happy { background-color: bisque; } .sad { background-color: blue; } .normal { background-color: orange; } .test1 { background-color: blueviolet; } .test2 { border-color: brown; border-width: medium; } .test3 { border-radius: 20px; } </style> <script type="text/javascript" src="../vue.js"></script> </head> <body> </body> <div id="root"> <div class="basic" :class="style" @click="changeStyle">{{name}}</div> <div class="basic" :class="classArr">{{name}}</div> <div class="basic" :class="classObj">{{name}}</div> <div class="basic" :style="styleObj">{{name}}</div> <div class="basic" :style="styleArr">{{name}}</div> </div> <script type="text/javascript"> Vue.config.productionTip = false const vm = new Vue({ el: "#root", data: { name: '测试', style: "normal", classArr: ["test1", "test2", "test3"], classObj: { test1: true, test2: true }, styleObj: { fontSize: '40px' }, styleObj2: { color: 'red' }, styleArr: [{ fontSize: '40px' }, { color: 'red' } ] }, methods: { changeStyle() { // this.style = "happy" const arr = ['happy', 'sad', 'normal'] const index = Math.floor(Math.random() * 3) this.style = arr[index] } } }) </script> </html>