苏飞论坛
标题: [Vue.js]学习笔记-Vue.js样式绑定-class属性绑定-计算属性 [打印本页]
作者: 范范 时间: 2018-12-14 17:27
标题: [Vue.js]学习笔记-Vue.js样式绑定-class属性绑定-计算属性
[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的属性绑定时, 我们可以在对象中返回一个计算属性, 来控制绑定样式的显示等。
计算属性的的使用, 是一个很常用且强大的模式, 可以将页面的html 代码简单化 ,逻辑在js中进行处理, 方便后期的维护与代码检查。
下面我们通过实例,来进行学习计算属性作为返回对象在样式绑定中的应用
实例:
[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>
.base {
width: 100px;
height: 100px;
}
.active {
background: green;
}
.text-danger {
background: red;
}
</style>
</head>
<body>
<div id="app">
<div v-bind:class="classObject"></div>
</div>
<script>
new Vue({
el: '#app',
data: {
isActive: true,
error: {
value: true,
type: 'fatal'
}
},
computed: {
classObject: function () {
return {
base: true,
active: this.isActive && !this.error.value,
'text-danger': this.error.value && this.error.type === 'fatal',
}
}
}
})
</script>
</body>
</html>
运行结果如下: