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. 内嵌样式使用vue中元素
    39. <div class="myclass" :style="[myStyle1,{height:myheight+'px'}]"></div>
    40. </br>
    41. <button type="button" @click="tmp=!tmp"> 点我 </button>
    42. <input type="text" v-model="mycolor"></input>
    43. </div>
    44. </body>
    45. <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    46. <script>
    47. new Vue({
    48. //指定作用于那一个div
    49. el:'#app',
    50. //属性
    51. data:{
    52. tmp:false,
    53. mycolor:'yellow',
    54. mywidth:'width',
    55. myheight:200,
    56. },
    57. computed:{
    58. myclass1:function(){
    59. console.log(111);
    60. /*let tmp = {};
    61. if(this.tmp){
    62. tmp['backgroundColor'] = 'red';
    63. }*/
    64. return {
    65. red:this.tmp,
    66. width:this.tmp
    67. }
    68. },
    69. myStyle1:function(){
    70. let tmp = {};
    71. if(this.tmp){
    72. tmp.backgroundColor = 'red';
    73. }
    74. return tmp;
    75. }
    76. }
    77. });
    78. </script>
    79. </html>