十、Vue.js的Class绑定
强烈推介IDEA2020.2破解激活,IntelliJ IDEA 注册码,2020.2 IDEA 激活码
一.Vue初体验:https://blog.csdn.net/qq_43674132/article/details/104857216 二.Vue条件命令:https://blog.csdn.net/qq_43674132/article/details/104857322 三.Vue循环指令:https://blog.csdn.net/qq_43674132/article/details/104857517 四.Vue处理用户输入:https://blog.csdn.net/qq_43674132/article/details/104857651 五.Vue组件初体验:https://blog.csdn.net/qq_43674132/article/details/104857870 六.Vue实例:https://blog.csdn.net/qq_43674132/article/details/104857953 七.Vue模板语法:https://blog.csdn.net/qq_43674132/article/details/104858009 八.Vue计算属性:https://blog.csdn.net/qq_43674132/article/details/104858068 九.Vue.js侦听器:https://blog.csdn.net/qq_43674132/article/details/104860083 十.Vue.js的class绑定:https://blog.csdn.net/qq_43674132/article/details/104861826 十一.Vue style绑定:https://blog.csdn.net/qq_43674132/article/details/104877107 十二.Vue 条件渲染:https://blog.csdn.net/qq_43674132/article/details/104877177 十三.Vue 列表渲染:https://blog.csdn.net/qq_43674132/article/details/104877393 十四.Vue事件处理:https://blog.csdn.net/qq_43674132/article/details/104878173 十五.Vue表单输入绑定:https://blog.csdn.net/qq_43674132/article/details/104879776 十六.Vue中引用图片:https://blog.csdn.net/qq_43674132/article/details/107043105
操作元素的 `class 列表`和内联样式是数据绑定的一个常见需求。因为它们都是属性,所以我们可以用 v-bind
处理它们:只需要通过表达式计算出字符串结果即可。不过,字符串拼接麻烦且易错。因此,在将 v-bind
用于 class
和 style
时,Vue.js 做了专门的增强。表达式结果的类型除了字符串之外,还可以是对象或数组。
我们可以传给 v-bind:class
一个对象,以动态地切换 class:
<div v-bind:class="{mydiv:flag}" class="mydiv1">{
{msg}}</div>
上面的语法表示 mydiv
这个 class 存在与否将取决于数据属性 flag
的 值。
你可以在对象中传入更多属性来动态切换多个 class。此外,v-bind:class
指令也可以与普通的 class 属性共存。当有如下模板:
<div v-bind:class="{mydiv:flag,mydiv2:hasBorder}" class="mydiv1">{
{msg}}</div>
和如下 data:
data:{
msg:"hello liqinggang",
flag: true,
hasBorder:true,
}
详细代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Vue的class绑定</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<!--v-bind:class="{mydiv:flag}"括弧mydiv后面可以加一个变量,定义一个flag,然后在data里面定义flag,默认为true-->
<div v-bind:class="{mydiv:flag,mydiv2:hasBorder}" class="mydiv1">{
{msg}}</div>
</div>
<script>
var app = new Vue({
el:"#app",
data:{
msg:"hello liqinggang",
flag: true,
hasBorder:true,
classObj:{
mydiv:true,
mydiv2:true
}
}
});
</script>
<style>
.mydiv2{
border: 1px solid #dedede;
}
.mydiv1{
font-size: 30px;
}
.mydiv{
font-weight: bold;
color: #ff0000;
}
</style>
</body>
</html>