1.1.常规用法
:class="color"
这里的color是数据里面的一个数据
<template>
<div :class="color">
数组用法
</div>
</template>
<script>
export default {
name: 'HelloWorld',
data () {
return {
color: 'red'
}
}
}
</script>
<style scoped>
.red{
color: red;
}
</style>
渲染为:
<div class="red">
数组用法
</div>
1.2 绑定数组用法
:class="[bg,color]
适用于绑定对个样式的时候,数组里面的每一个值都代表一个样式,每一个值都来源于data,而data对应的则是CSS定义的样式
<template>
<div :class="[bg,color]">
数组用法
</div>
</template>
<script>
export default {
name: 'HelloWorld',
data () {
return {
color: 'red',
bg: 'green'
}
}
}
</script>
<style scoped>
.red{
color: red;
}
.green{
background-color: green;
}
</style>
渲染结果为:
<div class="green red">
数组用法
</div>
1.3 绑定对象用法
1.3.1 直接绑定true or false
:class="{red:true,green:false
直接绑定布尔值,那么样式绑定为真的那一样式,上述绑定上的就是class="red"
<template>
<div :class="{red:true,green:false}">
数组用法
</div>
</template>
<script>
export default {
name: 'HelloWorld'
</script>
<style scoped>
.red{
color: red;
}
.green{
background-color: green;
}
</style>
渲染为:
<div class="red">
数组用法
</div>
1.3.2 绑定键值对
:class="{red:color,green:bg}"
在数组里面给对象的值进行赋值,color为真则显示red这个样式
<template>
<div :class="{red:color,green:bg}">
数组用法
</div>
</template>
<script>
export default {
name: 'HelloWorld',
data () {
return {
color: true,
bg: false
}
}
}
</script>
<style scoped>
.red{
color: red;
}
.green{
background-color: green;
}
</style>
渲染为:
<div class="red">
数组用法
</div>
1.3.3 绑定一个变量,便里面进行赋值(其实回归到1的用法)
<template>
<div :class="json">
数组用法
</div>
</template>
<script>
export default {
name: 'HelloWorld',
data () {
return {
json: {
red: false,
green: true
}
}
}
}
</script>
<style scoped>
.red{
color: red;
}
.green{
background-color: green;
}
</style>
最后渲染为
<div class="green">
数组用法
</div>
2. :style用法 内联样式的绑定
2.1 直接绑定
:style="{color:'red'}"
直接绑定上属性及其属性的值
<template>
<div :style="{color:'red'}">
数组用法
</div>
</template>
<script>
export default {
name: 'HelloWorld',
data () {
return {
json: {
red: false,
green: true
}
}
}
}
</script>
<style scoped>
.red{
color: red;
}
.green{
background-color: green;
}
</style>
渲染为:
<div class="" style="color: red;">
数组用法
</div>
2.2 数组 绑定一个或者多个值
:style="[a]"
<template>
<div :style="[a]">
数组用法
</div>
</template>
<script>
export default {
name: 'HelloWorld',
data () {
return {
a: {color: 'red'}
}
}
}
</script>
<style scoped>
</style>
渲染为:
<div style="color: red;">
数组用法
</div>
绑定多个值
:style="[a,b]"
<template>
<div :style="[a,b]">
数组用法
</div>
</template>
<script>
export default {
name: 'HelloWorld',
data () {
return {
a: {color: 'red'},
b: {backgroundColor: 'blue'}
}
}
}
</script>
<style scoped>
}
</style>
渲染为
<div style="color: red; background-color: blue;">
数组用法
</div>
注意:绑定内联样式的时候遇到复合样式需要改为驼峰法命名background-color需要改为
backgroundColor
2.3 直接绑定一个变量
:style="a"
<template>
<div :style="a">
数组用法
</div>
</template>
<script>
export default {
name: 'HelloWorld',
data () {
return {
a: {
color: 'red',
backgroundColor: 'blue'
}
}
}
}
</script>
<style scoped>
</style>
渲染为:
<div style="color: red; background-color: blue;">
数组用法
</div>
多重值
2.3.0+
从 2.3.0 起你可以为 style
绑定中的属性提供一个包含多个值的数组,常用于提供多个带前缀的值,例如:
<div :style="{ display: ['-webkit-box', '-ms-flexbox', 'flex'] }"></div> |
这样写只会渲染数组中最后一个被浏览器支持的值。在本例中,如果浏览器支持不带浏览器前缀的 flexbox,那么就只会渲染 display: flex
。