Vue语法学习第四课(2)——class与style的绑定
之前学到的指令 v-bind 在用于绑定class和style时,表达式结果可以是字符串、数组、对象。
一、绑定HTMLClass
① 对象语法
<div class="static" v-bind:class="{active : isActive, 'text-danger' : hasEorro}"></div>
data:{
isActive : true ,
hasEorro : false
}
渲染结果为:
<div class="static active " ></div>
注:当v-bind:class的表达式的值为 false,0,""(空字符串),null,undefined,NaN(Not a number) 时在JavaScript中为布尔值的假,即falsy,此时不会渲染
上述的例子可以写成:
<div class="static" v-bind:class="classObject"></div>
data : {
classObject : {
active : true,
'text-danger' : false
}
}
还可以绑定一个返回对象的计算属性(常用且强大):
<style>
.redborder{
border : 1px solid red
}
.yellowbackground{
background-color : yellow
}
</style>
<div id="app0">
<input type="text" v-model="myname"/>
<p v-bind:class="pclass">
my name is : {{myname}}
</p>
</div>
<script>
var vm = new Vue({
el:"#app0",
data:{
myname : "zxq",
pclass : {
yellowbackground: 1,
redborder : true
}
}
});
</script>
② 数组语法
同理,也可以用数组一次性绑定多个class
<div v-bind:class="[activeClass,errorClass]"></div>
data:{
activeClass : 'active',
errorClass : 'text-danger'
}
③ 用于组件
当在一个自定义组件上绑定class时,这些class将被绑定到组件的根节点上,且原有的class不会被覆盖
Vue.component('my-component',{
template : "<div class='foo bar'>hi</div>"
})
<my-component class='Active text-danger'></my-component>
将会被渲染成
<div class="active text-danger foo bar">hi</div>
同理也可以使用v-bind绑定class
二、绑定style
① 同class,绑定style时也支持对象语法和数组语法
② 当使用v-bind:style时,需要添加浏览器引擎前缀的CSS属性,如transform,Vue.js会自动侦测补全
③ 从2.3.0开始,可以为style绑定中给的属性提供一个包含多个值的数组,常用于提供多个带前缀的值。
<div :style="{ display: ['-webkit-box', '-ms-flexbox', 'flex'] }"></div>
这样写只会渲染数组中最后一个被浏览器支持的值,如上中,如果浏览器支持不带前缀的flexbox,那么就只会渲染display:flex。
Vue语法学习第四课(2)——class与style的绑定的更多相关文章
- Vue语法学习第四课(1)——组件简单示例
在 Vue 里,一个组件本质上是一个拥有预定义选项的一个 Vue 实例. 设法将应用分割成了两个更小的单元.子单元通过 prop 接口与父单元进行了良好的解耦. <div id="ap ...
- Vue语法学习第五课——条件渲染
① v-if .v-else-if .v-else <div v-if="type === 'A'"> A </div> <div v-else-if ...
- Vue语法学习第三课——计算属性
模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的.在模板中放入太多的逻辑会让模板过重且难以维护.对于任何复杂逻辑,都应当使用计算属性. <div id="example&qu ...
- Elasticsearch7.X 入门学习第四课笔记---- Search API之(Request Body Search 和DSL简介)
原文:Elasticsearch7.X 入门学习第四课笔记---- Search API之(Request Body Search 和DSL简介) 版权声明:本文为博主原创文章,遵循CC 4.0 BY ...
- Vue语法学习第一课——插值
学习关于Vue的插值语法 ① 文本值 : "Mustache"语法,即双大括号 <span>Message:{{msg}}</span> 注:双大括号中的m ...
- Vue语法学习第二课——指令
指令,是指在Vue中,带有-v前缀的特殊特性 指令特性的值预期是单个JavaScript表达式(v-for例外) <p v-if="seen">看得到</p> ...
- vue.js学习(第一课)
学习资料 来自台湾小凡! vue.js是javascript的一个库,只专注于UI层面,核心价值永远是 API的简洁. 第一课: 不支持IE8. 1.声明式渲染: el元素的简称 element : ...
- Asp.net MVC4高级编程学习笔记-模型学习第四课基架与模型绑定20171027
MVC模型 一.构建基架. MVC中的基架可以为应用程序提供CURD各种功能生成所需要的样板代码.在添加控制器的时候可以选择相应的模板以及实体对象来生成相应的模板代码. 首先定义一个模型类如下所示: ...
- Linux课程学习 第四课
学习必须如蜜蜂一样,采过许多花,这才能酿出蜜来 这月事比较多,每课的笔记都会慢慢补回来的,做事得有始有终 在网络上,人们越来越倾向于传输压缩格式的文件,原因是压缩文件体积小,在网速相同的情况下,传输时 ...
随机推荐
- Java多线程之volatile关键字《一》
关键字volatile的主要作用是使变量在多个线程间可见. 1.关键字volatile与死循环 如果不是在多继承的情况下,使用继承Thread类和实现Runnable接口在取得程序运行的结果上并没有什 ...
- 1.1 Django起步
1.1 Django起步 1.1.1. Django简介 Django开发框架(简称Django)诞生的时间是2003年的金秋时节,美国有两位程序员Adrian Holovaty和Simon ...
- Cache Line
转载: https://yq.aliyun.com/articles/46550
- spring boot2.0(二 ) lettcute访问redis
前言 此处已经省略redis的安装,请自行百度查找redis的服务端安装过程. 1.pom文件配置: <project xmlns="http://maven.apache.org/P ...
- Vue-CLI3.0版本配置BootStrap的方法
一.引入jquery bootstrap popper 用 cnpm install jquery bootstrap@3 popper.js --save 用cnpm 来导入 用npm会出 ...
- 小程序 新建项目底部tabbar
在app.json中配置 { "pages": [ "pages/index/index", "pages/staging/staging" ...
- python--个人信息修改程序
创建一个新的文本,account.txt,输入以下个人信息内容, lanyinhua,lanyinhua,蓝银花,22,Model,PR,22alex,123,华仔 Li,222,CEO,IT,133 ...
- java 分布式id生成算法
import java.lang.management.ManagementFactory; import java.net.InetAddress; import java.net.NetworkI ...
- sqlserver isnull函数
isnull(参数1,参数2),判断参数1是否为NULL,如果是,返回参数2,否则返回参数1. select ISNULL(null,'helloword') 返回helloword字符串select ...
- 服务器与客户端连接 & 聊天机器人
服务器运行当显示 E:\pycharm\python\venv\Scripts\python.exe E:/pycharm/python/协议/机器人聊天服务器.py 开始监听 accept 说明服务 ...