- 簡單的點擊div實現顏色的切換(通過class屬性實現)
a:代碼
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>vue中的樣式綁定</title> <!--引入vue.js文件--> <script src="./vue.js"></script> <style> .activated{ color: red; } </style> </head> <body> <!--直接調用方法--> <div id="root"> <div @click="handlerClick" :class="{activated:isActivated}"> Hello World </div> </div> <script> var app = new Vue({//創建一個vue的實例,裏面的都是一些配置項 el:'#root', data:{ isActivated:false }, methods: { handlerClick:function(){ this.isActivated = !this.isActivated; } }, }); </script> </body> </html>
- 通過class的數組屬性實現上面的顏色切換效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>vue中的樣式綁定</title> <!--引入vue.js文件--> <script src="./vue.js"></script> <style> .activated{ color: red; } </style> </head> <body> <!--直接調用方法--> <div id="root"> <div @click="handlerClick" :class="[activated]"> Hello World </div> </div> <script> var app = new Vue({//創建一個vue的實例,裏面的都是一些配置項 el:'#root', data:{ activated:""//通過這個變量去控制顏色的有無 }, methods: { handlerClick:function(){ if(this.activated==="activated"){ this.activated = ""; }else{ this.activated ="activated"; } } }, }); </script> </body> </html>
- 通過style的屬性實現上面的顏色切換效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>vue中的樣式綁定</title> <!--引入vue.js文件--> <script src="./vue.js"></script> </head> <body> <div id="root"> <!--可以是:style="styleObj" 也可以是:style="[styleObj]" --> <div :style="styleObj" @click="handlerClick"> Hello World </div> </div> <script> var app = new Vue({//創建一個vue的實例,裏面的都是一些配置項 el:'#root', data: { styleObj:{ color:"black" } }, methods: { handlerClick:function(){ if(this.styleObj.color==="black"){ this.styleObj.color = "red" }else{ this.styleObj.color = "black" } } }, }); </script> </body> </html>
- v-if條件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>vue中的樣式綁定</title> <!--引入vue.js文件--> <script src="./vue.js"></script> </head> <body> <div id="root"> <div v-if="show">{{message}}</div> <div v-else>Bye</div> </div> <script> var app = new Vue({//創建一個vue的實例,裏面的都是一些配置項 el:'#root', data: { message:"Hello", show:false } }); </script> </body> </html>
當改變show變量值得時候,展示數據
代碼2:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>vue中的樣式綁定</title> <!--引入vue.js文件--> <script src="./vue.js"></script> </head> <body> <div id="root"> <div v-if="show==='a'">This is a</div> <div v-else-if="show==='b'">This is b</div> <div v-else>Bye</div> </div> <script> var app = new Vue({//創建一個vue的實例,裏面的都是一些配置項 el:'#root', data: { show:'a' } }); </script> </body> </html>
- v-show和v-if的區別
a:代碼
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>vue中的樣式綁定</title> <!--引入vue.js文件--> <script src="./vue.js"></script> </head> <body> <div id="root"> <div v-if="show" data-test="v-if">{{message}}</div> <div v-show="show" data-test="v-show">{{message}}</div> </div> <script> var app = new Vue({//創建一個vue的實例,裏面的都是一些配置項 el:'#root', data: { message:"Hello", show:false } }); </script> </body> </html>
可以發現v-show是直接隱藏div,而v-if 是直接刪除和添加,所以v-show的性能要高一些。 - 使用v-for去渲染列表
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>vue中的樣式綁定</title> <!--引入vue.js文件--> <script src="./vue.js"></script> </head> <body> <div id="root"> <!--把v-for放到template中,我們只需要循環一次即可--> <template v-for="(item,index) in list" :key="item.id"> <div> {{item.text}}-----{{index}} </div> <span> {{item.text}} </span> </template> </div> <script> var app = new Vue({//創建一個vue的實例,裏面的都是一些配置項 el:'#root', data: { list:[{ id:"001", text:"name1" },{ id:"002", text:"name2" }] } }); </script> </body> </html>
- v-for對對象的循環操作
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>vue中的樣式綁定</title> <!--引入vue.js文件--> <script src="./vue.js"></script> </head> <body> <div id="root"> <div v-for="(item,key,index) in userInfo"> {{item}}-----{{key}}-----{{index}} </div> </div> <script> var app = new Vue({//創建一個vue的實例,裏面的都是一些配置項 el:'#root', data: { userInfo:{ name:"name1", age:"28", gender:"male" } } }); </script> </body> </html>
如何動態的修改userInfo中的數據呢?可以使用set方法解決:
下面一種也行:
如果userInfo是一個數組也是可以的:
代碼:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>vue中的樣式綁定</title> <!--引入vue.js文件--> <script src="./vue.js"></script> </head> <body> <div id="root"> <div v-for="(item,index) in userInfo"> {{item}}-----{{index}} </div> </div> <script> var app = new Vue({//創建一個vue的實例,裏面的都是一些配置項 el:'#root', data: { userInfo:[1,2,3,4] } }); </script> </body> </html>
vue中的樣式綁定以及條件渲染,列表渲染
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.