0Pricing
Vue Academy · 课时

v-bind 动态绑定与多重绑定

动态属性名 :[dynamicAttr]、v-bind 对象语法,以及一次绑定多个属性。

v-bind 动态绑定与多重绑定 是 CoddyKit 上的免费 Vue Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Vue Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Vue Academy 课程共包含 4 节课。

动态绑定属性

v-bind 指令(简写为 :)会将 HTML 属性连接到响应式值。它可以实现动态类、动态样式,甚至动态命名的属性。

v-bind 基础

将任意属性绑定到表达式。当值发生变化时,Vue 会更新该属性。

<img :src="imageUrl" :alt="description" />

类绑定:对象语法

对于类绑定,对象语法会根据真值切换某个类。键是类名,值决定是否应用该类。

<div :class="{ active: isActive, disabled: isDisabled }"></div>

类绑定:数组语法

数组语法可以应用一组类。您可以混合使用静态字符串和响应式变量,也可以嵌套对象来表示条件类。

<div :class="[baseClass, isActive ? activeClass : '']"></div>

组合数组和对象

您可以在数组中嵌套对象形式,从而同时获得两者的优点:始终启用的类和条件类。

<div :class="[baseClass, { active: isActive }]"></div>

样式绑定:对象语法

使用对象绑定内联样式。请使用 camelCase 属性名(或在引号中使用短横线命名法)。值可以是响应式的。

<div :style="{ color: textColor, fontSize: size + 'px' }"></div>

样式绑定:对象数组

传入样式对象数组,以合并多个样式来源,例如基础样式和主题覆盖样式。

<div :style="[baseStyles, overrideStyles]"></div>

一次绑定多个属性

不带参数的 v-bind 会将整个属性对象展开到元素上。每个键都会成为一个属性。

<script setup>
const attrs = { id: 'main', class: 'box', 'data-role': 'panel' }
</script>

<template>
  <div v-bind="attrs"></div>
</template>

动态属性名

使用方括号在运行时计算属性名本身。方括号中的表达式会被求值,并用作属性键。

<script setup>
const attrName = 'title'
const attrValue = 'Hello'
</script>

<template>
  <div :[attrName]="attrValue"></div>
</template>

各语法的适用场景

  • 对象类语法 — 根据条件切换多个类。
  • 数组类语法 — 将基础类与条件类组合起来。
  • v-bind="obj" — 转发一整组属性。
  • 动态名称 :[name] — 在运行时决定属性键时使用。

综合示例

此元素同时使用了动态类、动态样式和展开属性,并且全部具有响应式。

<div
  :class="[base, { active: isActive }]"
  :style="{ color: textColor }"
  v-bind="extraAttrs"
></div>

快速检查

请测试您对 v-bind 的掌握情况。

回顾

您已经了解了 v-bind 的多种用法:

  • 对象类语法根据条件切换类;数组语法可以组合类。
  • 样式绑定使用对象(camelCase)或对象数组。
  • v-bind="obj" 会展开对象中的全部属性。
  • :[name]="val" 会绑定动态命名的属性。

常见问题解答

「v-bind 动态绑定与多重绑定」课时是免费的吗?

是的 — 「v-bind 动态绑定与多重绑定」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Vue Academy 课程的其余内容,请升级到 CoddyKit PRO。 Vue Academy 课程共包含 4 节课。

「v-bind 动态绑定与多重绑定」这节课中我会学到什么?

动态属性名 :[dynamicAttr]、v-bind 对象语法,以及一次绑定多个属性。 你通过在浏览器中直接运行的动手代码来练习 Vue Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Vue Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Vue Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「v-bind 动态绑定与多重绑定」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Vue Academy 课中编写并运行代码吗?

能。每节 Vue Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. v-model:双向绑定的内部机制
  2. v-on 事件修饰符
  3. v-bind 动态绑定与多重绑定
  4. 编写自定义指令
← 返回 Vue Academy