视频加载失败

Vue v-bind 动态属性绑定

292 字
1 分钟
Vue v-bind 动态属性绑定

v-bind 是 Vue.js 中用于动态绑定 HTML attribute(属性)的指令。它允许你在模板中将 JavaScript 表达式的值绑定到 HTML 元素的属性上,使页面能够根据数据的变化自动更新。

基本语法#

<!-- 完整写法 -->
<a v-bind:href="url">链接</a>
<!-- 缩写:冒号 -->
<a :href="url">链接</a>

绑定的值可以是任意 JavaScript 表达式:

<img :src="baseUrl + '/logo.png'" :alt="title" :width="size * 2" />

绑定 class 与 style#

这是 v-bind 最常用的场景之一,支持对象语法和数组语法:

<!-- 对象语法:条件为真时应用该 class -->
<div :class="{ active: isActive, 'text-red': hasError }"></div>
<!-- 数组语法 -->
<div :class="[baseClass, isActive ? 'active' : '']"></div>
<!-- style 对象语法 -->
<div :style="{ color: textColor, fontSize: fontSize + 'px' }"></div>

动态 attribute 名#

Vue 3 支持用方括号把 attribute 名也变成表达式:

<a :[attributeName]="url">这里的 attributeName 可以是动态的</a>

与组件 props 的关系#

在组件上使用 :prop-name="value" 时,v-bind 就是把父组件的数据传给子组件的 prop。配合 v-bind="obj" 还可以一次性把整个对象展开为多个 props:

<UserCard v-bind="userFields" />

一句话总结:插值表达式负责把值写进文本,v-bind 负责把值写进 attribute。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Vue v-bind 动态属性绑定
https://blog.81vm3.xyz/posts/vue-v-bind/
作者
Blume
发布于
2024-03-05
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
Blume
I build interesting things.
公告
欢迎来到我的博客!
分类
标签
最新动态
站点统计
文章
38
分类
5
标签
98
总字数
23,078
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录