第十一節:動態繫結class和style
阿新 • • 發佈:2019-01-29
在第六節的章節中,我們學會了如何給檢視上的html標籤繫結屬性。比如,給 <a> 標籤繫結href屬性,簡單回憶一下: 老辦法,我們先來準備一個vue例項:
物件語法:我們動態繫結的class的值是一個物件{ },具體怎麼寫我們來看看,在上面的程式碼上稍做修改:
我們儘快驗證一下,我們在上面的程式碼上再稍作修改:
除了物件語法來繫結class之外,我們還有另一種寫法。陣列語法:用陣列語法和物件語法來繫結class,又稍有不同。說了是陣列語法,那寫法就肯定不一樣,我們繼續來看看:
效果跟我們預期一樣。這樣,我們就可以修改vm例項的資料data,來實現動態修改class的樣式了。
繫結內聯樣式也有2種語法,物件語法和陣列語法,但我們這裡只介紹常用的物件語法。
沒錯,看來你已經會舉一反三了。 看渲染效果,我們驗證一樣:
沒毛病,成功渲染成:style=”color:red”。
因此,我們同樣可以修改vm例項的資料data,來實現動態修改檢視央視的效果。
- <!-- v-bind指令 -->
- <a v-bind:href="link"></a>
- <!-- v-bind的縮寫 -->
- <a :href="link"></a>
- <div id="app">
- <p>這是文字</p>
- </div>
- <script>
- //建立一個例項vm
- const vm = new Vue({
- el:"#app",
- data:{}
- });
- </script>
繫結class
物件語法:我們動態繫結的class的值是一個物件{ },具體怎麼寫我們來看看,在上面的程式碼上稍做修改:
- <div id="app">
- <p :class="{'active':isActive}">這是文字</p>
- </div>
- <script>
- //建立一個例項vm
- const vm = new Vue({
- el:"#app",
- data:{
- isActive:true
- }
- });
- </script>
我們儘快驗證一下,我們在上面的程式碼上再稍作修改:
- <p :class="{
- 'active':isActive,
- 'danger':isDanger,
- 'error':isError
- }">這是文字</p>
- data:{
- isActive:true,
- isDanger:true,
- isError:false
- }
除了物件語法來繫結class之外,我們還有另一種寫法。陣列語法:用陣列語法和物件語法來繫結class,又稍有不同。說了是陣列語法,那寫法就肯定不一樣,我們繼續來看看:
- <p :class="[activeClass,errorClass]">
- 這是文字
- </p>
- data:{
- activeClass:'active',
- errorClass:'error'
- }
效果跟我們預期一樣。這樣,我們就可以修改vm例項的資料data,來實現動態修改class的樣式了。
繫結內聯樣式style除了使用class類以外,我們還可以在style內聯樣式上下功夫。
繫結內聯樣式也有2種語法,物件語法和陣列語法,但我們這裡只介紹常用的物件語法。
- <p :style="{color:colorStyle}">
- 這是文字
- </p>
- data:{
- colorStyle:'red'
- }
沒錯,看來你已經會舉一反三了。 看渲染效果,我們驗證一樣:
004.png
沒毛病,成功渲染成:style=”color:red”。
因此,我們同樣可以修改vm例項的資料data,來實現動態修改檢視央視的效果。
本節小結採取動態繫結class還是動態內聯樣式style,這個要根據需求分析來具體確定。但較為常用的還是使用繫結class。