vue class与style 绑定详解——小白速会
一、绑定class的几种方式
1.对象语法
直接看例子:
<div id="app3">
<div :class="{'success':isSuccess,'fail':isFail}">对象绑定class</div> //简单的处理直接使用数据来判断
<div :class="classes">计算属性绑定class</div> //当class的表达式过长或逻辑复杂时,使用计算属性
</div>
var app3 = new Vue({
el: '#app3',
data: {
isSuccess: true,
isFail: false,
error: false
},
computed: {
classes: function(){
return {
success: this.isSuccess && !this.error,
fail: this.isFail || !this.error
}
}
}
});
2.数组语法
直接看例子:
<div id="app4">
<div :class="[successCls,failCls]">绑定多个class属性</div> //用于来绑定多个class属性
<div :class="[{'success':isSuccess},failCls]">绑定多个class属性一</div> //动态的判断添加那些class属性,是最常用的
</div>
var app4 = new Vue({
el: '#app4',
data: {
successCls: 'success',
failCls: 'fail',
isSuccess: true,
isFail: false
}
});
<div id= ”app”>
<button :class= ”classes”></button>
</div>
var app = new Vue({
el: '#app',
data:{
size : 'large',
disabled : true
},
computed: {
classes: function(){
return [
'btn',
{
['btn-'+this.size]: this.size,
["btn-disabled"]: this.disabled
}
]
}
}
});
使用计算属性给元素动态设置类名,在业务中经常用到,尤其是在写复用的组件时,所以在开发过程中,如果表达式较长或逻辑复杂,应该尽可能地优先使用计算属性。
3.在组件上使用
直接看例子:
<div id="app5">
<my-component :class="{'success': isSuccess}"></my-component>
</div>
Vue.component('my-component',{
template: '<div class="fail">绑定组件class属性</div>'
});
var app5 = new Vue({
el: '#app5',
data: {
isSuccess: true
}
});
这种用法仅适用于自定义组件的最外层是一个根元素,否则会无效,当不满足这种条件或需要给具体的子元素设置类名时,应当使用组件的props 来传递。
二、绑定内联样式
直接看例子:
<div id="app6">
<div :style="{'color':color,'fontSize':fontSize+'px'}">文本</div>
</div>
var app6 = new Vue({
el: '#app6',
data: {
color: 'red',
fontSize: 14
}
});
大多数情况下, 直接写一长串的样式不便于阅读和维护,所以一般写在data 或computed 里
<div id="app6">
<div :style="style">文本</div>
</div>
var app6 = new Vue({
el: '#app6',
data: {
style: {
color: 'red',
fontSize: 14
}
}
});
vue class与style 绑定详解——小白速会的更多相关文章
- vue内置指令详解——小白速会
指令 (Directives) 是带有 v- 前缀的特殊属性,职责是,当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM. 内置指令 1.v-bind:响应并更新DOM特性:例如:v-bi ...
- vue表单详解——小白速会
一.基本用法 你可以用 v-model 指令在表单 <input> 及 <textarea> 元素上创建双向数据绑定. 但 v-model 本质上不过是语法糖.它负责监听用户的 ...
- vue计算属性详解——小白速会
一.什么是计算属性 模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的.在模板中放入太多的逻辑会让模板过重且难以维护.例如: <div id="example"> ...
- vue-router详解——小白速会
一.概述 vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用. vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来. ...
- npm安装vue详细教程(图片详解)
npm安装vue详细教程(图片详解) 一.总结 一句话总结:整个安装流程照着教程来,注意系统环境变量的配置,注意一下npm的本地仓库和缓存位置 教程 系统环境变量 仓库 缓存 1.什么情况下最适合用n ...
- Vue插件编写、用法详解(附demo)
Vue插件编写.用法详解(附demo) 1.概述 简单来说,插件就是指对Vue的功能的增强或补充. 比如说,让你在每个单页面的组件里,都可以调用某个方法,或者共享使用某个变量,或者在某个方法之前执行一 ...
- vue视图不更新情况详解
vue视图不更新情况详解:https://www.jb51.net/article/161371.htm
- vue和react全面对比(详解)
vue和react对比(详解) 放两张图镇压小妖怪 本文先讲共同之处, 再分析区别 大纲在此: 共同点: a.都使用虚拟dom b.提供了响应式和组件化的视图组件 c.注意力集中保持在核心库,而将其他 ...
- Vue#Class 与 Style 绑定
绑定HTMLCLASS 在我没看这之前,我觉得要写绑定class ,应该像绑定数据一样这么写 class ={{class-a}} 看官方教程时,不推荐这么写,推荐这样 v-bind:class=&q ...
随机推荐
- Bitset([HZOI 2015]偏序++)
Bitset简介 下面介绍C++ STL 中一个非常有用的东西: Bitset 类似于二进制状压,它可以把信息转化成一个01串存储起来 定义方法: 首先要#include<bitset>或 ...
- [BZOJ1000] A+B Problem
Description Calculate a+b Input Two integer a,b (0<=a,b<=10) Output Output a+b Sample Input 1 ...
- [BZOJ2296] [POJ Challenge] 随机种子
Description 1tthinking除了随机算法,其他什么都不会.但是他还是可以ac很多题目,他用的是什么呢?他会选择一个好的随机种子,然后输出答案.往往他选择的一个好的种子可以有99%的概率 ...
- Vue-自带vue-resource插件实现http请求
安装 本地环境安装路由插件vue-resource: cnpm install vue-resource --save-dev *没有安装淘宝镜像的可以将 cnpm 替换成 npm 想要安装的可 ...
- chkconfig命令核心案列及核心原理
chkconfig sshd on 设置sshd开机自启动 chkconfig sshd off 设置sshd开机不启动 chkconfig --level 35 sshd on 设置ssh ...
- Redis之Hash
一.Redis之Hash简介 1. Hash是一个string类型的field和value的映射表,适合用于存储对象. 2. 每个hash可以存储232-1个键值对(40多亿). 二.Redis之Ha ...
- 打印Java异常堆栈信息
背景 在开发Java应用程序的时候,遇到程序抛异常,我们通常会把抛异常时的运行时环境保存下来(写到日志文件或者在控制台中打印出来).这样方便后续定位问题. 需要记录的运行时环境包含两部分内容:抛异常时 ...
- 简单探讨 javascript 闭包
函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回. 我们来实现一个对Array的求和.通常情况下,求和的函数是这样定义的: function sum(arr) { ret ...
- which framework or library is best to use WebRTC
which framework or library is best to use WebRTC http://stackoverflow.com/questions/24857637/current ...
- tcpdump抓包工具的使用
个人原创,转载请注明,否则依法追究法律责任 2018-02-28 16:01:26 tcpdump 倾倒网络传输数据,直接启动tcpdump将监视第一个网络接口上所有流过的数据包. 1 不接任何参数 ...