Vue中绑定样式
绑定class样式–单个样式
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<style>
.basic{
width: 400px;
height: 100px;
border: 1px solid black;
}
.cl1{
background-color: red;
}
.cl2{
background-color: pink;
}
.cl3{
background-color: blue;
}
</style>
<script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<div id="context">
<div class="basic" :class="testCls" @click="changeMood"></div>
</div>
</body>
<script type="text/javascript">
const vm = new Vue({
el:'#context',
data:{
name:'machoul',
testCls:'cl1',
classArr:['cl1','cl2','cl3']
},
methods: {
changeMood(){
const index = Math.floor(Math.random()*3)
this.testCls = this.classArr[index]
}
},
})
</script>
</html>
绑定class样式–数组
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<style>
.basic{
width: 400px;
height: 100px;
border: 1px solid black;
}
.cl1{
background-color: pink;
}
.cl2{
border-radius: 5px;
}
.cl3{
color: blue;
}
</style>
<script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<div id="context">
<div class="basic" :class="classArr">{{name}}</div>
</div>
</body>
<script type="text/javascript">
const vm = new Vue({
el:'#context',
data:{
name:'machoul',
classArr:['cl1','cl2','cl3']
}
})
</script>
</html>
绑定class样式–对象
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<style>
.basic{
width: 400px;
height: 100px;
border: 1px solid black;
}
.cl1{
background-color: pink;
}
.cl2{
border-radius: 5px;
}
.cl3{
color: blue;
}
</style>
<script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<div id="context">
<div class="basic" :class="classObj">{{name}}</div> <br/><br/>
</div>
</body>
<script type="text/javascript">
const vm = new Vue({
el:'#context',
data:{
name:'machoul',
classObj:{
cl1:true,
cl2:false,
cl3:true
}
}
})
</script>
</html>
绑定style样式–对象
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<style>
.basic {
width: 400px;
height: 100px;
border: 1px solid black;
}
</style>
<script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<div id="context">
<div class="basic" :style="styleObj">{{name}}</div> <br /><br />
</div>
</body>
<script type="text/javascript">
const vm = new Vue({
el: '#context',
data: {
name: 'machoul',
styleObj: {
fontSize: '40px',
color: 'red',
}
}
})
</script>
</html>
绑定style样式–数组
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<style>
.basic {
width: 400px;
height: 100px;
border: 1px solid black;
}
</style>
<script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<div id="context">
<div class="basic" :style="styleArr">{{name}}</div>
</div>
</body>
<script type="text/javascript">
const vm = new Vue({
el: '#context',
data: {
name: 'machoul',
styleArr: [
{
fontSize: '40px',
color: 'blue',
},
{
backgroundColor: 'gray'
}
]
}
})
</script>
</html>