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 ...
随机推荐
- 【BZOJ1216】操作系统(堆,模拟)
[BZOJ1216]操作系统(堆,模拟) 题面 题目描述 写一个程序来模拟操作系统的进程调度.假设该系统只有一个CPU,每一个进程的到达时间,执行时间和运行优先级都是已知的.其中运行优先级用自然数表示 ...
- 【NOIP2009】【CJOJ1687】【洛谷1074】靶形数独
题面 Description 小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他们想用数独来一比高低.但普通的数独对他们来说都过于简单了,于是他们向 Z博士请教,Z 博士拿出 ...
- shell 脚本下执行Mongodb命令
最近项目中搭建了两台mongodb的服务器,由于服务器只有两台的情况下,目前只是搭建了主从模式架构(官方目前并不推荐主从模式),缺点就是故障转移不变等等原因,而是推荐副本集模式(这里就不多说了)... ...
- java支付宝开发-02-手机网站支付
源码已上传github,欢迎专注:https://github.com/shirayner/alipay-wap 一.基础部分 1.手机网站支付产品介绍 1.1 阅读官方介绍: 手机网站支付产品介绍 ...
- 用CSS画出好玩的图形
1.上三角 #triangle-up { width: 0; height: 0; border-left: 50px solid transparent; border-right: 50px so ...
- pods 报错There may only be up to 1 unique SWIFT_VERSION per target
zhangpengdeMacBook-Pro:Jump zhangpeng$ pod install Analyzing dependencies [!] There may only be up t ...
- 颜色的RGB值表示法
颜色的RGB值表示法 从物理光学试验中得出:红.绿.蓝三种色光是其他色光所混合不出来的.而这三种色光以不同比例的混合几乎可以得出自然界所有的颜色. 如红光与不同比例的绿光混合可以得出橙.黄.黄绿等色: ...
- delphi 数组复制利用CopyMemory 最为完美
在各网站的文章里面,见复制数据的方法中,有move的,有system.copy的,而要实际应用中,这两种方法,并不是很完美,会遇到一些问题,比如copy在记录里面的复制时,编译都过不去,而CopyMe ...
- 使用openssl演练数字签名
以下代码摘自网上,设置一个server和client,client代码如下: package main import ( "fmt" "io/ioutil&q ...
- websocket使用指南
前言 最近在一个项目中,需要使用到websocket,之前对websocket不是很了解,于是就花了一点时间来熟悉websocket. 在浏览器与服务器通信间,传统的 HTTP 请求在某些场景下并不理 ...