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 指令


例子

使用 v-bind 指令更改 <div> 元素的背景颜色。

<template>
  <h2>Example v-bind Directive</h2>
  <p>The v-bind directive connects the style attribute of the DIV element to the 'colorVal' data property.</p>
  <div v-bind:style="{ backgroundColor: colorVal }">DIV element</div>
  <p>Use the input type="color" box below to change the color.</p>
  <p><input type="color" v-model="colorVal"> <pre>colorVal: '{{ colorVal }}'</pre></p>
</template>
运行示例 »

在下面查看更多示例。


定义和用法

v-bind 指令用于将 HTML 属性绑定到 Vue 实例中的属性(上面的示例),或传递 props(下面的示例 1)。

如果我们更改了 Vue 实例属性,并且该属性使用 v-bind 绑定到 HTML 属性,则 HTML 元素将使用新的属性值自动更新,这得益于 Vue 的响应式系统。

'v-bind:' 的简写形式是 ':',或者在使用 .prop 修饰符时是 '.'。

这些修饰符可以与 v-bind 指令一起使用,但通常不需要。

修饰符 细节
.camel 将属性名称从短横线分隔转换为驼峰式命名法。在使用构建步骤或字符串模板时,不需要这样做。
.prop 强制将绑定设置为 DOM 属性。除非使用自定义元素,否则 Vue 将找出使用 v-bind 提供的键是元素的 DOM 属性还是属性,并适当地绑定键。
.attr 强制将绑定设置为 DOM 属性。除非使用自定义元素,否则 Vue 将找出使用 v-bind 提供的键是元素的 DOM 属性还是属性,并适当地绑定键。

更多示例

示例 1

使用 v-bind 发送 'img' 属性,数据类型为布尔值(true/false)。

<template>
  <h2>Example v-bind Directive</h2>
  <p>Two props are sent to the component. We must use v-bind for the prop with 'boolean' data type.</p>
  <button v-on:click="this.img = !this.img">Toggle 'img' prop value</button> {{ img }}
  <info-box 
    turtle-text="Turtles can hold their breath for a long time."
    v-bind:turtle-img="img"
  />
</template>

<script>
export default {
  data() {
    return {
      img: true
    }
  }
}
</script>
运行示例 »

示例 2

使用 'v-bind:' 简写形式 ':'。

<template>
  <h2>Example v-bind Directive</h2>
  <p>Two props are sent to the component. We must use v-bind for the prop with 'boolean' data type.</p>
  <button v-on:click="this.img = !this.img">Toggle 'img' prop value</button> {{ img }}
  <info-box 
    turtle-text="Turtles can hold their breath for a long time."
    :turtle-img="img"
  />
</template>

<script>
export default {
  data() {
    return {
      img: true
    }
  }
}
</script>
运行示例 »

示例 3

使用 .prop 修饰符更改复选框的 indeterminate DOM 属性。

<template>
  <p>Using the '.prop' modifier to toggle the 'indeterminate' appearance of the checkbox:</p>
  <button v-on:click="indetVal = !indetVal">Toggle</button>
  <p>
    <input type="checkbox" v-bind:indeterminate.prop="indetVal"> Checkbox
  </p>
</template>

<script>
export default {
  data() {
    return {
      indetVal: false
    };
  }
};
</script>

<style>
input {
  margin: 20px;
  scale: 2;
}
</style>
运行示例 »

示例 4

使用 .prop 修饰符简写形式和 v-bind 简写形式,因此 'v-bind:indeterminate.prop' 变为 '.indeterminate'。

<template>
  <p>Using the '.prop' shorthand so that 'v-bind:indeterminate.prop' becomes '.indeterminate':</p>
  <button v-on:click="indetVal = !indetVal">Toggle</button>
  <p>
    <input type="checkbox" .indeterminate="indetVal"> Checkbox
  </p>
</template>

<script>
export default {
  data() {
    return {
      indetVal: false
    };
  }
};
</script>

<style scoped>
input {
  margin: 10px;
  scale: 2;
}
</style>
运行示例 »

相关页面

Vue 教程:Vue CSS 绑定

Vue 教程:Vue v-bind 指令

Vue 教程:Vue 属性


×

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.