v-bind
指令<div>
<a v-bind:href="url">百度a>
div>
v-bind
缩写形式<div>
<a :href="url">百度a>
div>
<div v-bind:class="{style1: active, style2: active1}">
测试样式
div>
var vm = new Vue({
el: '#app',
data: {
active: true,
active1: true
}
});
style1
和style2
属性为class
名,active
为属性的值,可以取true
or false
,当active
的值
为true
时,对应class
为激活状态
<div v-bind:class="[s1, s2]">
测试样式
div>
var vm = new Vue({
el: '#app',
data: {
s1: 'style1',
s2: 'style2'
}
});
s1
和s2
是data
里的属性,它们可以被赋值为某个class
<div v-bind:class="[s1, s2, {test: isTest}]">
测试样式
div>
var vm = new Vue({
el: '#app',
data: {
s1: 'style1',
s2: 'style2',
isTest: true
}
});
<div v-bind:class="arrClasses">
测试样式
div>
<div v-bind:class="objClasses">
测试样式
div>
var vm = new Vue({
el: '#app',
data: {
arrClasses: ['style1', 'style2'],
objClasses: {
style1: true,
style2: true
}
}
});
<div class="test" v-bind:class="objClasses">
测试样式
div>
<div id="app">
<div v-bind:style="{
width: widthStyle, height: heightStyle, border: borderStyle}">div>
<div v-bind:style="objStyle">div>
div>
var vm = new Vue({
el: '#app',
data: {
widthStyle: '100px',
heightStyle: '100px',
borderStyle: '1px solid red',
objStyle: {
width: '100px',
height: '100px',
border: '1px solid red'
}
}
});
<div id="app">
<div v-bind:style="[baseStyle, overrideStyle]">div>
div>
var vm = new Vue({
el: '#app',
data: {
baseStyle: {
width: '100px',
height: '100px',
border: '1px solid red'
},
overrideStyle: {
border: '1px solid red',
backgroundColor: 'skyblue'
}
}
});
当数组里有多个对象时,不同对象里相同的属性会被覆盖,不存在的属性则添加