v-bind

v-bind的引入

​ 内容的绑定可以通过mustache语法,而属性的绑定往往需要通过v-bind

  • 如动态绑定img的src属性

  • 如动态绑定div的class属性

  • 如动态绑定li元素的style属性

动态绑定src属性

<div id="app">
<img v-bind:src="imgURL" alt="">
<!-- v-bind的语法糖写法::,v-bind可以省略 -->
<a :href="aHerf">百度一下</a>
</div>
<script type="text/javascript">
const app = new Vue({
el: "#app",
data: {
imgURL: "img/15.jpg",
aHerf: "http://www.baidu.com'>",
message: "你好",
isActive: true,
isLine: true,
finalSize:'20px',
baseStyles:{color:'red', backgroundColor:'green'}
}
})
</script>

动态绑定class

①对象语法

  • <h2 :class="{类名1:boolean, 类名2:boolean, 类名3:boolean}"></h2>
  • 语法说明:当类名为true时,就会将对应的类名添加到该元素的class中,不会覆盖原先的class

<style type="text/css">
.active {
color: red;
}
.line {
text-decoration: underline;
}
</style> <div id="app">
<h2 :class="{active: isActive, line: isLine}">{{message}}</h2>
</div>
  • 如果觉得对象语法过于复杂,还可以把它封装为一个方法使用或计算属性
//封装为方法
<div id="app">
<h2 :class="getClasses()">{{message}}</h2>
</div>
<script type="text/javascript">
const app = new Vue({
methods: {
getClasses() {
return {
active: this.isActive,
line: this.isLine
}
}
}
})
</script>
// 封装为计算属性
<div id="app">
<h2 :class="classes">{{message}}</h2>
</div>
<script type="text/javascript">
const app = new Vue({
computed: {
classes() {
return {
active: this.isActive,
line: this.isLine
}
}
}
})
</script>

②数组语法

  • 如果始终要为某个属性绑定一个或多个类,可以使用数组语法

  • 数组语法相对于对象语法更简洁,缺陷是一旦绑定后该类就会始终存在

<h2 :class="['active','line']">{{message}}</h2>

动态绑定style

①对象语法

  • <h2 :style="{key(属性名1):value(属性值1), 属性名2:属性值2, 属性名3:属性值3}"></h2>
  • 语法说明:为元素添加样式。属性名即为样式名,可用驼峰命名或中间添加连接符'-'命名

<div id="app">
<!-- 30px必须加上单引号,否则会被当做变量解析而报错 -->
<h3 :style="{fontSize:'30px'}">{{message}}</h3>
<h3 :style="{fontSize:finalSize}">{{message}}</h3>

②数组语法

  • 与class的数组语法类似
<h3 :style="[baseStyles]">{{message}}</h3>

v-bind的使用的更多相关文章

  1. v - bind

    1. 用于处理html标签的动态属性,即动态赋值(动态地绑定一个或多个特性,或一个组件 prop 到表达式) 2. 官网API <!DOCTYPE html> <html lang= ...

  2. v:bind指令对于传boolean值的注意之处

    1,

  3. 更新补丁Bind

    1.查询补丁版本信息 (1) rpm -qa|grep bind (2) dig @localhost version.bind 2.下载安装 BIND最新漏洞和升级解决办法 现在有非常多的公司的都有 ...

  4. Bind开启IPv6功能

    [root@localhost sbin]# ./named -v bind 9.5.1-p3-v3.0.9 1,服务器开启IPv6服务 网卡配置v6地址 [root@localhost ~]# if ...

  5. 搭建consul 集群

    1.   准备工作 a)      启动三台虚拟机 s1:10.1.7.141 s2:10.1.7.139 s3:10.1.7.138 b)      每台机器上在 /home新建文件夹 mkdir ...

  6. 从头开始构建LINUX [LFS 脚本]

    脚本共享在这 http://pan.baidu.com/s/1nt6yiH7 version-check.sh : 这个是检查HOST机器的软件依赖情况 host-dep.sh:针对ubuntu10_ ...

  7. Linux From Scratch(从零开始构建Linux系统,简称LFS)- Version 7.7(二)

    七. 构建临时系统 1. 通用编译指南 a. 确认是否正确设置了 LFS 环境变量 echo $LFS b. 假定你已经正确地设置了宿主系统的符号链接: 1)shell 使用的是 bash. 2)sh ...

  8. 【Redis】Redis的基本安装及使用

    在Linux上安装Redis Redis的安装很简单.基本上是下载.解压.运行安装脚本.我用的Redis版本是3.2.1. [nicchagil@localhost app]$ wget -q htt ...

  9. 终端环境之tmux

    今天继续介绍我的终端环境,tmux. why tmux? 用一个工具的第一问自然还是为什么要用.其实当时使用tmux的原因很简单.工作中经常需要长时间的编译.总想要下班后要关机的情况下,(肯定有人问我 ...

  10. 通过百度echarts实现数据图表展示功能

    现在我们在工作中,在开发中都会或多或少的用到图表统计数据显示给用户.通过图表可以很直观的,直接的将数据呈现出来.这里我就介绍说一下利用百度开源的echarts图表技术实现的具体功能. 1.对于不太理解 ...

随机推荐

  1. Cai Xukun and Orz Pandas Gym - 102309C

    题目链接:https://vjudge.net/problem/Gym-102309C 题意:给定蔡徐坤投篮的位置和篮筐的位置以及最大初速度,求一个初速度和时间. 思路:一开始我以为要用到二分,后面仔 ...

  2. Baolu Aggregate TPS Report

    1.说明 这是一个基于JMeter官方的Aggregate Report的监听器改进而来的监听器!!! 2.插件背景 早在很久之前,宝路就曾经改造过JMeter的Aggregate Report 的源 ...

  3. (原创)在Linux上安装运行Python3(CentOS7为例)

    在win10上开发好的python项目要部署在Linux上要面对的问题:怎么在Linux上跑py文件呢? 以Lunix CentOS7.x平台为例,CentOS系统上自带的已有python2.x 的版 ...

  4. MySQL数据库与python交互

    1.安装引入模块 安装mysql模块 pip install PyMySQL; 文件中引入模块 import pymysql 2.认识Connection对象 用于建立与数据库的连接 创建对象:调用c ...

  5. 敏捷史话(十二):你现在接触的敏捷也许是“黑暗敏捷”——Ron Jeffries

    他很少提起往事,也不再提及二十年前那场引起软件行业变革的会议,他专注于当下,一直活跃在敏捷领域.八十多岁的他依然运营维护着网站和博客,是极限编程网站 XProgramming.com 的作者,该网站是 ...

  6. 解决send-mail: fatal: parameter inet_interfaces: no local interface found for ::1

    1:检查sendmail服务的状态 service sendmail status 2:开启sendmail服务 service sendmail start3:关闭sendmail服务 servic ...

  7. Dubbo 编解码那些事

    一.背景 笔者在一次维护基础公共组件的过程中,不小心修改了类的包路径.糟糕的是,这个类被各业务在facade中进行了引用.传递.幸运的是,同一个类,在提供者和消费者的包路径不一致,没有引起各业务报错. ...

  8. 动态的创建Class对象方法及调用方式性能分析

    有了Class对象,能做什么? 创建类的对象:调用Class对象的newInstance()方法 类必须有一个无参数的构造器. 类的构造器的访问权限需要足够. 思考?没有无参的构造器就不能创建对象吗? ...

  9. [C++]一篇文章搞懂C++中五花八门的各种初始化

    总结 初始化的概念:创建变量时赋予它一个值(不同于赋值的概念) 类的构造函数控制其对象的初始化过程,无论何时只要类的对象被创建就会执行构造函数 如果对象未被用户指定初始值,那么这些变量会被执行默认初始 ...

  10. NDEBUG与assert

    当宏NDEBUG定义在assert的头文件之前,会使assert.trace这类调试函数失效, 需要注意的是#define NDEBUG必须放在这些函数的头文件之前,放在它们的 头文件后面的话就相当于 ...