1. 程式人生 > 其它 >[Vue]使用 v-bind 直接在 <style /> 標籤內操作

[Vue]使用 v-bind 直接在 <style /> 標籤內操作

操作元素的 class 列表和內聯樣式是資料繫結的一個常見需求。最近,發現除了使用var()操作元素的樣式屬性值以外,還可以直接在 style 標籤內使用 v-bind 操作的方式。

v-bind 繫結內聯樣式有三種,第一種是官方介紹的方式,第二種是利用 CSS var() 函式,第三種是直接在 CSS 中使用 v-bind()。

官方介紹的方式,在這裡不過多贅述,請檢視(官方文件)[https://v3.cn.vuejs.org/guide/class-and-style.html#繫結內聯樣式]

如果我們要動態更改一個 p 標籤的字型顏色,利用 CSS var() 函式是這樣做到的:

<template>
  <div>
    <p v-bind:style="{ --color: fontColor }">Hello Vue.js!</p>
  </div
</template>

<script lang="js">
export default {
  data() {
    return {
      fontColor: 'red'
    }
  }
}
</script>

<style lang="css" scoped>
p {
  color: var(--color)
}
</style>

直接在 CSS 中使用 v-bind(),是這樣做到的:

<template>
  <div>
    <p>Hello Vue.js!</p>
  </div
</template>

<script lang="js">
// ... JS 程式碼與上面的例子一樣
</script>

<style lang="css" scoped>
p {
  color: v-bind(fontColor)
}
</style>