1. <html>
    2. <head>
    3. <style>
    4. .myclass
    5. {
    6. width: 100%;
    7. height: 80px;
    8. background-color: blue;
    9. }
    10. .red{
    11. background-color: red;
    12. }
    13. .blue{
    14. background-color: blue;
    15. }
    16. .yellow{
    17. background-color: yellow;
    18. }
    19. .width{
    20. width: 100px;
    21. }
    22. </style>
    23. </head>
    24. <body>
    25. <div id="app">
    26. 通过v-bind控制样式
    27. <div class="myclass" v-bind:class="{red:tmp}"> </div>
    28. </br>
    29. 加入computed来控制
    30. <div class="myclass" :class="myclass1"></div>
    31. </br>
    32. 加入v-model来控制
    33. <div class="myclass" :class="mycolor"></div>
    34. </br>
    35. 加入多个样式绑定
    36. <div class="myclass" :class="[mycolor,mywidth]"></div>
    37. </br>
    38. <button type="button" @click="tmp=!tmp"> 点我 </button>
    39. <input type="text" v-model="mycolor"></input>
    40. </div>
    41. </body>
    42. <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    43. <script>
    44. new Vue({
    45. //指定作用于那一个div
    46. el:'#app',
    47. //属性
    48. data:{
    49. tmp:false,
    50. mycolor:'yellow',
    51. mywidth:'width',
    52. },
    53. computed:{
    54. myclass1:function(){
    55. console.log(111);
    56. return {
    57. red:this.tmp,
    58. width:this.tmp
    59. }
    60. }
    61. }
    62. });
    63. </script>
    64. </html>