vue: v-bind
demo : 通过改变其类名的方法改变其背景颜色。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
<style type="text/css">
div{
width: 100px;
height: 100px;
}
.red{
background: red;
}
.green{
background: green;
}
.yellow{
background: yellow;
}
</style>
</head>
<body>
<div id="demo">
<button type="button" @click="changeColor()">change</button>
<div :class = "colorClass"></div>
</div>
<script type="text/javascript">
var vm = new Vue({
el: '#demo',
data : {
xborder : '1px solid black',
colorClass : 'red',
count : 0
},
methods:{
changeColor() {
this.count++;
if(this.count%3 === 0){
this.colorClass = 'red';
}else if(this.count%3 === 1){
this.colorClass = 'green';
}else{
this.colorClass = 'yellow';
}
}
}
})
</script>
</body>
</html>
v-bind : 简写 :
给元素绑定多个类名:数组和对象的方法
数组:
<div :class="[class1 , class2,··· ]">
对象:
<div :class="{class1:true},{class:false}">
//class1会被添加,class2不会
给元素绑定style: 数组和对象两种方法
eg:
<div id="demo">
<button type="button" @click="changeColor()">change</button>
<div :class = "colorClass"></div>
<input type="text" placeholder="请输入" v-model="message">
<p>输入的内容为:{{ message }}</p>
<ul>
<li v-for="(value , key ,index) in obj">{{ index }}</li>
</ul>
</div>
<script type="text/javascript">
var vm = new Vue({
el: '#demo',
data : {
xborder : '1px solid black',
colorClass : 'red',
message : '',
count : 0 ,
obj : {
fruit : 'bananer',
food : 'rice'
}
},
methods:{
changeColor() {
this.count++;
if(this.count%3 === 0){
this.colorClass = 'red';
}else if(this.count%3 === 1){
this.colorClass = 'green';
}else{
this.colorClass = 'yellow';
}
}
}
})
</script>