Vue 特化整合‐樣式綁定 - daniel-qa/Vue GitHub Wiki

Vue 的 :style 綁定

為什麼不能直接寫 flex-direction?

在 CSS 中,語法確實是固定的 flex-direction: column;

但在 Vue 的 :style 綁定(JavaScript 對象)中,情況有點不同。這是一個常見的陷阱,主要原因在於 JavaScript 的語法限制:

在 JavaScript 中,物件的鍵(Key)如果包含連字號 -,會被視為「減法運算子」。

❌ style="{ flex-direction: 'column' }":JavaScript 會以為你要計算 flex 減去 direction,導致語法錯誤。
  • 兩種解決方案

當你在 Vue 的 :style 裡寫樣式時,你有兩種選擇:

1 .駝峰式命名 (CamelCase) - 推薦:

2 .將連字號去掉,後面的單字首字母大寫。

HTML

:style="{ flexDirection: 'column' }"

使用引號包裹:

如果你堅持要寫原始的 CSS 名稱,就必須用引號把它變成字串。

HTML

:style="{ 'flex-direction': 'column' }"