打着巩固 css 知识的旗号开始了对 vue 样式绑定的研究,相比前一篇的 demo,本次内容多了各种样式在里面,变得稍微花哨了些,话不多说,直接上代码吧:
<html> <head> <meta charset="utf-8"> <title>Vue test</title> <style type="text/css"> body {font-family: Verdana;} p { font-family: Times, "Times New Roman", serif;} .static.active {color: green; font-size: 35px;} div.text-danger {color: red;font-size: 25px;} div.active {color: blue;font-family: Verdana;} </style> <script src="./vue.min.js"></script> </head> <body> <div id="app"> <!-- Create an instance of the todo-item component --> <todo-item></todo-item> </div> <div class="static" v-bind:class="{ active: isActive, \'text-danger\': hasError }"> <p>class property set.</p> </div> <div id="app3" v-bind:class="[activeClass,errorClass]"> <p>group class property set.</p> </div> <div id="app4" v-bind:class="[isActive ? \'active\' : \'text-danger\']"> <p>三元表达式加样式</p> </div> <div id="app5"> <my-component v-bind:class="{ active: isActive }"></my-component> </div> <div id="app6"> <p v-bind:style="{ color: activeColor, fontSize: fontSize + \'px\' }">绑定内联样式</p> <p v-bind:style="styleObject">对象样式绑定</p> </div> <script> Vue.component(\'todo-item\', { template: \'<p>todo test.</p>\' }) // 一定要实例化才能用 var app = new Vue({ el: \'#app\' }) // 用类选择器构造一个Vue对象并绑定额外的class属性 var app2 = new Vue({ el: \'.static\', data: { isActive: false, hasError: true } }) // 数组语法加 class (因为是从下往上拿样式,所以text-danger的color样式被覆盖) var app3 = new Vue({ el: \'#app3\', data: { activeClass: \'active\', errorClass: \'text-danger\' } }) var app4 = new Vue({ el: \'#app4\', data: { isActive: true } }) Vue.component(\'my-component\',{ template: \'<p class="static">在已经定义好样式的自定义组件上加样式</p>\' }) var app5 = new Vue({ el: \'#app5\', data: { isActive: true } }) // 绑定内联样式 var app6 = new Vue({ el: \'#app6\', data: { activeColor: \'#FF00FF\', fontSize: 30, styleObject: { color: \'#585858\', fontSize: \'25px\' } } }) </script> </body> </html>