怎么在Vue中綁定樣式?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
Vue具體輕量級框架、簡單易學、雙向數據綁定、組件化、數據和結構的分離、虛擬DOM、運行速度快等優勢,Vue中頁面使用的是局部刷新,不用每次跳轉頁面都要請求所有數據和dom,可以大大提升訪問速度和用戶體驗。
綁定Class
對象語法
data 里的屬性是負責 toggle 是否要這個 class,也就是一般定義 Boolean 類型的值。
<div :class="{ active: isActive, 'text-danger': hasError }"></div>
這里用 isActive 和 hasError 定義是否需要 active 和 text-danger 類。
data: { isActive: true, hasError: false }
渲染為
<div class="active"></div>
數組語法
data 里負責定義 CSS 類名。
<div :class="[activeClass, errorClass]"></div>
這里定義了 activeClass 和 errorClass 的 CSS 類名是 active 和 text-danger。
data: { activeClass: 'active', errorClass: 'text-danger' }
渲染為
<div class="active text-danger"></div>
混合寫法
可以用混合的形式來綁定 class,即數組語法里寫對象語法。所以 data 里的數據主要用于:
是否需要某個 class
定義 "class" 里面的類名
<div :class="[{ active: isActive }, errorClass]"></div>
這里定義了 errorClass 的 CSS 類名為 text-danger,并用 isActive 定義是否需要 active 類。
data: { errorClass: 'text-danger', isActive: true }
渲染為
<div class="active text-danger"></div>
綁定Style
對象語法
data 里的屬性是定義 style 里的值。與 class 不一樣,class 是定義是否要這個 class的。
<div :></div>
這里定義了 style 里的 color 和 font-size 的值。
data: { activeColor: 'red', fontSize: 30 }
渲染為
<div ></div>
數組語法
可以綁定多個樣式對象到 style 上
<div :></div>
這里在 data 里用 styleObject 定義了 color 和 font-size,再用 overridingStyles 定義了 background 和 margin。然后在組件里用數組進行混合綁定。
data: { styleObject: { color: 'red', fontSize: '13px' }, overridingStyles: { background: 'green', margin: '13px' } }
渲染為
<div ></div>
關于怎么在Vue中綁定樣式問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。