Vue.js 2属性值绑定v-bind

语法:

v-bind指令用于动态绑定值给属性,它的值可以是数组,对象以及表达式

基本使用

<!-- 绑定一个属性 -->
<img v-bind:src="imageSrc">
<!-- 缩写 -->
<img :src="imageSrc">
<!-- 内联字符串拼接 -->
<img :src="'/path/to/images/' + fileName">

.camel修饰符(2.1.0+)

.camel 允许v-bind 属性以驼峰式命名,例如 SVG 的 viewBox 属性:

<svg :view-box.camel="viewBox"></svg>

绑定prop属性

prop属性一定要在组件的props里定义。

<my-component :prop="someThing"></my-component>


Class绑定

class绑定其中一个目的是为了动态改变元素的样式。

1、绑定对象表达式

<div :class="{ active: isActive }"></div>

isActive为true,添加class active,否则删除class active。

2、多个class

<div class="myclass" :class="{ active: isActive, 'text-danger': hasError }"></div>

在组件的data设置isActive和hasError的值:

data: {
isActive: true,
hasError: false
}

3、绑定到计算属性

<div :class="classObject"></div>
data: {
isActive: true,
error: null
},
computed: {
classObject: function () {
return {
active: this.isActive && !this.error,
'text-danger': this.error && this.error.type === 'fatal'
}
}
}

4、数组语法

<div :class="[activeClass, errorClass]"></div>
data: {
activeClass: 'active',
errorClass: 'text-danger'
}

在数组里的元素可以是三元表达式,或者对象:

<div :class="[isActive ? activeClass : '', errorClass]"></div>
<div :class="[{ active: isActive }, errorClass]"></div>

Style绑定

语法v-bind:style,缩写:style,它的值是一个javascript的object对象。

CSS属性名:可以用驼峰式 (camelCase) 或短横线分隔 (kebab-case),短横线分割的需要使用单引号括起来。

基本使用

<div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>
data: {
activeColor: 'red',
fontSize: 30
}

直接绑定到对象变量

<div v-bind:style="styleObject"></div>
data: {
styleObject: {
color: 'red',
fontSize: '13px'
}
}

数组语法

可以对样式以数组的方式赋值多个样式对象。

<div v-bind:style="[baseStyles, overridingStyles]"></div>

自动添加前缀

当v-bind:style 使用需要添加浏览器引擎前缀的 CSS 属性时,如 transform,Vue.js 会自动侦测并添加相应的前缀。

版权声明:著作权归作者所有。

相关推荐

Linux使用命令行解析JSON数据获取属性值

在Linux有几个办法可以很方便在命令行解析JSON数据jqcurl -s 'http://example.com/api/user' | jq -r '.name' Python使用Python也可以很方便地解析JSON数据Python 2curl -s 'http://example.com/api/us

JavaScript:给动态元素绑定事件

JavaScript给动态添加的元素绑定事件有几种方式:方法一:jQuery使用jQuery.fn.on可以很简单为动态元素绑定事件:$(staticAncestors).on(eventName, dynamicChild, function() {}); staticAncestors:静态的祖先元素选择器eventName:事件名,如click等dynamicC

TypeScript:接口(interface)属性的定义

  在TypeScript里,接口扮演了一个定义数据结构的角色,它在TypeScript的类型检查中起到很重要的作用。基本用法匿名定义sayHello(person: {name:string}) { console.log(person.name + ", 您好!"); } 这是一个很简单的例子,它使用匿