[Vue.js]学习笔记-Vue.js样式绑定-多个class属性绑定
导读部分
教程部分
Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据。 另: Vue.js 的核心是一个允许你采用简洁的模板语法来声明式的将数据渲染进 DOM 的系统。
class 与 style 是 HTML 元素的属性,用于设置元素的样式, 在Vue.js中, 我们可以通过v-bind来设置样式属性。 Vue.js v-bind 在处理 class 和 style 时, 表达式的结果类型除了字符串之外,还可以是对象或数组。
而我们在进行class的属性绑定时, 我们可以在对象中传入更多属性用来动态切换多个 class。
我们可以通过实例一下实例,进行多个属性对象绑定的来切换class样式,来实现页面样式的多样化。
实例1: 通过同时绑定两个class属性, active,text-danger 来动态控制背景颜色。
[HTML] 纯文本查看 复制代码 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 苏飞论坛(sufeinet.com)</title>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<style>
.active {
width: 100px;
height: 100px;
background: green;
}
.text-danger {
background: red;
}
</style>
</head>
<body>
<div id="app">
<div class="static"
v-bind:class="{ active: isActive, 'text-danger': hasError }">
</div>
</div>
<script>
new Vue({
el: '#app',
data: {
isActive: true,
hasError: true
}
})
</script>
</body>
</html>
运行代码显示如下:
运行后发现, 背景色显示为红色, 说明, active: isActive, 'text-danger 类背景颜色覆盖了 active 类的背景色': hasError
检查页面运行后的html源代码显示如下: [HTML] 纯文本查看 复制代码 <div id="app"><div class="static active text-danger"></div></div>
而当我们将底部赋值中, hasError设置为false, 运行后的结果如下图: [HTML] 纯文本查看 复制代码 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 苏飞论坛(sufeinet.com)</title>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<style>
.active {
width: 100px;
height: 100px;
background: green;
}
.text-danger {
background: red;
}
</style>
</head>
<body>
<div id="app">
<div class="static"
v-bind:class="{ active: isActive, 'text-danger': hasError }">
</div>
</div>
<script>
new Vue({
el: '#app',
data: {
isActive: true,
hasError: false
}
})
</script>
</body>
</html>
检查运行页面后, 页面的html代码如下: [HTML] 纯文本查看 复制代码 <div id="app"><div class="static active"></div></div>
|