本文摘自PHP中文网,作者coldplay.xixi,侵删。
vue.js获取class的方法:1、使用数据绑定,代码为【<a :href="http://www.php.com/">php中文网</a>】;2、动态绑定class,代码为【<div class="classA classB">De】。

vue.js获取class的方法:
1、数据绑定
vue 指令以 v- 前缀标示,数据绑定的指令 v-bind:属性名, 简写为 :属性名, 简单的数据绑定例子如下:
1 2 3 | <a v-bind:href= "http://www.php.com/" >php中文网</a>
简写:
<a :href= "http://www.php.com/" >php中文网</a>
|
2、动态绑定class
vue 的分隔符默认是 {{ }}, 在分隔符里面的字符串会被认为是数据变量,可以通过 class="{{ className }}"
方式设置class,但是vue不推荐这种方式与 v-bind:class
的方式混用,二者只能选其一。v-bind:class 虽然与class属性里绑定变量的方式不能共存,却可以与原生的class特性共存, 一个DOM标签中允许同时出现原生class和v-bind:class
。
2.1 v-bind:class
支持string类型,不建议这样使用,因为string值是固定不变的,无法实现动态改变class的需求
1 2 3 4 | HTML代码:
<div : class = " 'classA classB' " >Demo1</div>
渲染后的HTML:
<div class = "classA classB" >Demo1</div>
|
2.2 v-bind:class 支持数据变量,当变量值改变时,将同时更新class。v-bind:class
指令的值限定为绑定表达式,如javascript表达式
1 2 3 4 5 6 7 8 | HTML代码:
<div : class = "classA" >Demo2</div>
Javascript代码:
data: {
classA: 'class-a'
}
渲染后的HTML:
<div class = "class-a" >Demo2</div>
|
写在指令中的值会被视作表达式,如javascript表达式,因此v-bind:class
接受三目运算:
1 2 3 4 | HTML代码:
<div : class = "classA ? 'class-a' : 'class-b' " >Demo3</div>
渲染后的HTML:
<div class = "class-a" >Demo3</div>
|
2.3 v-bind:class 支持对象,对象改变时会动态更新class
HTML代码:
1 2 3 4 5 6 7 8 | <div : class = "{ 'class-a': isA, 'class-b': isB}" >Demo4</div>
Javascript代码:
data: {
isA: false,
isB: true
}
渲染后的HTML:
<div class = "class-b" >Demo4</div>
|
1 2 3 4 5 6 7 8 9 10 11 | HTML代码:
<div : class = "objectClass" >Demo5</div>
Javascript代码:
data: {
objectClass: {
class -a: true,
class -b: false
}
}
渲染后的HTML:
<div class = "class-a" >Demo5</div>
|
2.4: v-bind:class
支持数组, 数组里的变量改变时,会动态更新class列表
1 2 3 4 5 6 7 8 9 | HTML代码:
<div : class = "[classA, classB]" >Demo6</div>
Javascript代码:
data: {
classA: 'class-a' ,
classB: 'class-b'
}
渲染后的HTML:
<div class = "class-a class-b" >Demo6</div>
|
数组中可以包含object类型,数组中的object对象改变,也会更新class列表
1 2 3 4 5 6 7 8 9 10 11 12 13 | HTML代码:
<div : class = "[classA, classB]" >Demo7</div>
Javascript代码:
data: {
classA: 'class-a' ,
objectClass: {
classB: 'class-b' ,
classC: false,
classD: true
}
}
渲染后的HTML:
<div class = "class-a class-b classD" >Demo7</div>
|
相关免费学习推荐:JavaScript(视频)
以上就是vue.js怎么获取class的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
vue.js怎么判断对象为空
vue.js为什么不能支持ie8?
vue.js和bootstrap之间有什么区别?
为什么用vue.js这种前端框架?
vue.js中怎么移除数组值
vue.js怎么引入img
vue.js怎么获取input里面的值
关于vue使用验证器: veevalidate3
vue.js需要js吗
vue.js怎样隐藏软键盘
更多相关阅读请进入《vue.js》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » vue.js怎么获取class