一、用 变量形式 绑定单个 Class 名
在 vue
中绑定单个 class
名还好说,直接写就可以了
<template> <div id="app"> <!-- 因为是自定义属性,所以要用到 v-bind ,简写为 : --> <!-- 3.将 box 绑定给 div --> <div :class="box"></div> </div></template><script>export default { name: 'app', data () { return { // 2.在 data 中把 yellow 赋给 box box: 'yellow' } } }</script><style>/* 1.在样式表中写好样式 */.yellow{ width: 200px; height: 200px; background: #ff0; }</style>
用 Vue 绑定单个Class 名
二、用 数组形式 绑定多个 Class 名
比如我们想再给这个 div
加个阴影
在 style
中写好样式
.shadow{ box-shadow: 10px 10px 5px 0 #999; }
在 data
中继续添加数据对象
<script>export default { name: 'app', data () { return { box: 'yellow', shadow:'shadow' } } }</script>
在标签中以数组的形式绑定 Class
名
<template> <div id="app"> <div :class="[box,shadow]"></div> </div></template>
就 OK 了。
用 数组形式 绑定多个 Class 名
三、用 json 形式 绑定多个 Class 名
该方法方便用于当同时添加多个 Class 名时,在某种情况下判断显示哪种样式
先写好样式
<style>.yellow{ width: 200px; height: 200px; background: #ff0; }.shadow{ box-shadow: 10px 10px 5px 0 #999; }</style>
在 data
中添加数字对象,用来做判断
<script>export default { name: 'app', data () { return { show1:true, show2:false } } }</script>
以 json
的形式绑定到 class
中,通过布尔值改变 show1
与 show2
的值,来控制 div
的状态
<template> <div id="app"> <div :class="{yellow:show1,shadow:show2}"></div> </div></template>
用 json 形式 绑定多个 Class