Menu
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Vue v-bind 指令

您已经了解到,基本的 Vue 设置包括一个 Vue 实例,我们可以使用 <div id="app"> 标签中的 {{ }}v-bind 指令访问它。

在本页,我们将更详细地解释 v-bind 指令。

v-bind 指令

v-bind 指令允许我们将 HTML 属性绑定到 Vue 实例中的数据。这使得动态更改属性值变得容易。

语法

<div v-bind:[attribute]="[Vue data]"></div>

示例

<img> 标签的 src 属性值取自 Vue 实例数据属性 'url'

<img v-bind:src="url">
自己尝试 »

CSS 绑定

我们可以使用 v-bind 指令进行内联样式并动态修改类。在本节中,我们将简要介绍如何做到这一点,在本教程后面的 CSS 绑定页面 中,我们将更详细地解释这一点。


绑定样式

使用 Vue 进行内联样式是通过将 style 属性绑定到 Vue 使用 v-bind 来实现的。

作为 v-bind 指令的值,我们可以写一个包含 CSS 属性和值的 JavaScript 对象

示例

字体大小取决于 Vue 数据属性 'size'。

<div v-bind:style="{ fontSize: size }">
  文本示例
</div>
自己尝试 »

如果需要,我们也可以将字体大小数字值与字体大小单位分开,例如

示例

字体大小数字值存储在 Vue 数据属性 'size' 中。

<div v-bind:style="{ fontSize: size + 'px' }">
  文本示例
</div>
自己尝试 »

我们也可以用 CSS 语法(kebab-case)用连字符写 CSS 属性名,但这是不推荐的

示例

CSS 属性 fontSize 称为 'font-size'。

<div v-bind:style="{ 'font-size': size + 'px' }">
  文本示例
</div>
自己尝试 »

示例

背景颜色取决于 Vue 实例中的 'bgVal' 数据属性值。

<div v-bind:style="{ backgroundColor: 'hsl('+bgVal+',80%,80%)' }">
  注意此 div 标签的背景颜色。
</div>
自己尝试 »

示例

背景颜色使用 JavaScript 条件(三元)表达式 设置,具体取决于 'isImportant' 数据属性值是 'true' 还是 'false'。

<div v-bind:style="{ backgroundColor: isImportant ? 'lightcoral' : 'lightgray' }">
  条件背景颜色
</div>
自己尝试 »

绑定类

我们可以使用 v-bind 来更改 class 属性。

v-bind:class 的值可以是一个变量

示例

class 名来自 'className' Vue 数据属性

<div v-bind:class="className">
  类使用 Vue 设置
</div>
自己尝试 »

v-bind:class 的值也可以是一个对象,其中类名只有在设置为 'true' 时才会生效

示例

class 属性是否分配取决于类 'myClass' 是否设置为 'true' 或 'false'

<div v-bind:class="{ myClass: true }">
  类根据条件设置以更改背景颜色
</div>
自己尝试 »

v-bind:class 的值为对象时,可以根据 Vue 属性分配类

示例

class 属性根据 'isImportant' 属性分配,如果它是 'true' 或 'false'

<div v-bind:class="{ myClass: isImportant }">
  类根据条件设置以更改背景颜色
</div>
自己尝试 »

v-bind 的简写

'v-bind:' 的简写就是 ':'。

示例

这里我们只写 ':' 而不是 'v-bind:'

<div :class="{ impClass: isImportant }">
  类根据条件设置以更改背景颜色
</div>
自己尝试 »

在本教程中,我们将继续使用 v-bind: 语法,以避免混淆。


Vue 练习

通过练习测试自己

练习

提供缺失的代码,以便使用 Vue 指令简写将类设置为等于 'className' 数据属性。

<div ="className">
  The class is set with Vue
</div>

开始练习



×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.