之前学到的指令 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的绑定的更多相关文章

  1. Vue语法学习第四课(1)——组件简单示例

    在 Vue 里,一个组件本质上是一个拥有预定义选项的一个 Vue 实例. 设法将应用分割成了两个更小的单元.子单元通过 prop 接口与父单元进行了良好的解耦. <div id="ap ...

  2. Vue语法学习第五课——条件渲染

    ① v-if .v-else-if .v-else <div v-if="type === 'A'"> A </div> <div v-else-if ...

  3. Vue语法学习第三课——计算属性

    模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的.在模板中放入太多的逻辑会让模板过重且难以维护.对于任何复杂逻辑,都应当使用计算属性. <div id="example&qu ...

  4. Elasticsearch7.X 入门学习第四课笔记---- Search API之(Request Body Search 和DSL简介)

    原文:Elasticsearch7.X 入门学习第四课笔记---- Search API之(Request Body Search 和DSL简介) 版权声明:本文为博主原创文章,遵循CC 4.0 BY ...

  5. Vue语法学习第一课——插值

    学习关于Vue的插值语法 ① 文本值 : "Mustache"语法,即双大括号 <span>Message:{{msg}}</span> 注:双大括号中的m ...

  6. Vue语法学习第二课——指令

    指令,是指在Vue中,带有-v前缀的特殊特性 指令特性的值预期是单个JavaScript表达式(v-for例外) <p v-if="seen">看得到</p> ...

  7. vue.js学习(第一课)

    学习资料 来自台湾小凡! vue.js是javascript的一个库,只专注于UI层面,核心价值永远是 API的简洁. 第一课: 不支持IE8. 1.声明式渲染: el元素的简称 element : ...

  8. Asp.net MVC4高级编程学习笔记-模型学习第四课基架与模型绑定20171027

    MVC模型 一.构建基架. MVC中的基架可以为应用程序提供CURD各种功能生成所需要的样板代码.在添加控制器的时候可以选择相应的模板以及实体对象来生成相应的模板代码. 首先定义一个模型类如下所示: ...

  9. Linux课程学习 第四课

    学习必须如蜜蜂一样,采过许多花,这才能酿出蜜来 这月事比较多,每课的笔记都会慢慢补回来的,做事得有始有终 在网络上,人们越来越倾向于传输压缩格式的文件,原因是压缩文件体积小,在网速相同的情况下,传输时 ...

随机推荐

  1. Left Join on 多条件查询时,条件过滤的问题

    例如:A  Left Join B on (...) on 后面的条件是对B数据的过滤,如果要对A的数据或者联合之后的数据集进行过滤,则要把过滤条件放在where子句中

  2. Apache和Nginx的区别

    Nginx 轻量级,采用 C 进行编写,同样的 web 服务,会占用更少的内存及资源 抗并发,nginx 以 epoll and kqueue 作为开发模型,处理请求是异步非阻塞的,负载能力比 apa ...

  3. JS 基本类型和引用类型---JS 学习笔记(一)

    本文参考了focusxxxxy的博客,感谢他的知识分享. 一 基本类型和引用类型的值 ECMAScript 变量包含两种不同数据类型的值:基本类型和引用类型. 也有其他的叫法,比如原始类型和对象类型, ...

  4. EOJ Monthly 2019.2

    题解 A 回收卫星 #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include<bits/s ...

  5. Activity的介绍

    Activity类是Android应用程序的重要组成部分,activity的启动和组合方式是平台应用程序模型的基本组成部分.Android系统通过调用与其生命周期的特定阶段相对应的特定回调方法来启动A ...

  6. .NetCore WebApi

    1.简单请求 [HttpGet] public ActionResult Get(int id) Postman: api / controller / action?id=1 2.form-data ...

  7. JMETER-01

    jmter安装 1.Linxu安装: 步骤:下载JMeter包-->解压包-->赋权限-->配置环境变量-->测试服务 1.下载:wget http://mirrors.hus ...

  8. python内置函数详细描述与实例演示

    python有许多内置函数,列出表格如下 内置函数 abs() delattr() hash() memoryview() set() all() dict() help() min() setatt ...

  9. imp、exp命令导出优化

    本文对Oracle数据的导入导出 imp ,exp 两个命令进行了介绍, 并对其对应的參数进行了说明,然后通过一些演示样例进行演练,加深理解.文章最后对运用这两个命令可能出现的问题(如权限不够,不同o ...

  10. nodejs常见问题

    Js 基础问题 与前端 Js 不同, 后端是直面服务器的, 更加偏向内存方面. [Basic] 类型判断    [Basic] 作用域    [Basic] 引用传递    [Basic] 内存释放  ...