2025-04-07-Vue 裡, 綁定可以同時支援 **物件語法** 和 **陣列語法**
2025-04-07-Vue 裡, 綁定可以同時支援 物件語法 和 陣列語法
很好 👌 你已經抓到重點了!
在 Vue 裡,:class 綁定可以同時支援 物件語法 和 陣列語法。
你現在的寫法是 物件語法:
1 | <div |
這表示:
- 一定會有
my-bannerclass - 如果
rounded = true→ 會再加上roundedclass
1️⃣ 加入 type 的方式(陣列語法)
最簡單的方式是把 type 當成一個 class,寫成陣列:
1 | <div |
這樣結果會是:
type="error" rounded=false→class="my-banner error"type="success" rounded=true→class="my-banner success rounded"
2️⃣ 保險一點:加上前綴
有時候我們會想避免跟其他 class 撞名,可以這樣寫:
1 | <div |
結果會是:
type="error"→class="my-banner type-error"type="info" rounded=true→class="my-banner type-info rounded"
3️⃣ 結合驗證(防呆)
在 props 裡定義 type:
1 | <script setup> |
這樣 MyBanner 會更健壯,不會被亂傳值。
👉 總結:
你只要改成這樣,就能同時支援 type 和 rounded:
1 | <div |