Vue v-bind 指令
示例
使用 v-bind
指令更改 <div>
元素的背景颜色。
<template>
<h2>Example v-bind Directive</h2>
<p>v-bind 指令将 DIV 元素的样式属性连接到"colorVal"数据属性。</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 属性,则由于 Vue 的反应性系统,HTML 元素将自动使用新属性值进行更新。
与 .prop
修饰符一起使用时,"v-bind:
"的简写形式为":
"或".
"。
这些修饰符可以与 v-bind
指令一起使用,但通常不需要:
修饰符 | 详细信息 |
---|---|
.camel |
将属性名称从短横线命名法转换为驼峰命名法。 当使用构建步骤或使用字符串模板时不需要这样做。 |
.prop |
强制将绑定设置为 DOM 属性。 除非使用自定义元素,否则 Vue 将查明 v-bind 提供的键是 DOM 属性还是元素的属性,并适当地绑定该键。 |
.attr |
强制将绑定设置为 DOM 属性。 除非使用自定义元素,否则 Vue 将查明 v-bind 提供的键是 DOM 属性还是元素的属性,并适当地绑定该键。 |
更多示例
示例 1
使用 v-bind
发送 'img' 属性,数据类型为布尔值(true/false)。
<template>
<h2>v-bind 指令示例</h2>
<p>两个 props 被发送到组件。 我们必须使用 v-bind 作为具有"boolean"数据类型的 prop。</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>v-bind 指令示例</h2>
<p>两个 props 被发送到组件。 我们必须使用 v-bind 作为具有"boolean"数据类型的 prop。</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
"变为".inminated
"。
<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 Props 选项