时间:2021-05-26
最终渲染结果:
<div class="active"></div>最终渲染结果(当数据isActive或isError变化时,对应的class也会更新):
<div class="static active"></div>3、当:class的表达式过长或逻辑复杂时,还可以绑定一个计算属性,这是一种友好和常见的用法,一般当条件多于两个时,都可以使用data或者computed,例如:
<div id="app"> <div :class="classes"></div></div><script>var app = new Vue({ el:'#app', data:{ isActive:true, isError:null }, computed:{ classes(){ return { active:this.isActive && !this.error, 'text-fail':this.error && this.error.type ==='fail' } } }})</script>除了计算属性,也可以直接绑定一个Object类型的数据,或者使用类似计算属性的methods.
渲染后的结果为:
<div class="active error"></div>渲染后的结果为:
<div class="active error"></div>渲染后的结果为:
<div class="btn btn-large btn-disabled"></div>以上,样式btn会始终应用,当数据size不为空时,会应用样式前缀btn-,后加size的值;当数据disabled为真时,会应用样式btn-disabled.
使用计算属性给元素动态设置类名,在业务中经常用到,尤其是在写复用的组件时,所以在开发过程中,如果表达式较长或逻辑复杂,应该尽可能优先使用计算属性。
如果直接在自定义组件上使用class或:class,样式规则会直接应用到这个组件的根元素上,例如声明一个简单的组件:
<script> Vue.component('my-component', { template: '<p class="article">一些文本</p>' })</script>然后在调用该组件时,使用对象语法或数组语法给组件绑定class,以对象语法为例:
<div id="app"> <my-component :class="'active':isActive"></my-component></div><script> var app = new Vue({ el: '#app', data: { isActive: true } })</script>最终组件渲染后的结果为:
<p class="article active">一些文本</p>这种方法仅适用于自定义组件的最外层是一个根元素,否则会无效,当不满足这种条件或需要给具体的子元素设置类名时,应当使用组件的props来传递。
以上就是vue绑定class的三种方法的详细内容,更多关于vue绑定class的资料请关注其它相关文章!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
反射反射:将类的属性和方法映射成相应的类。反射基本使用获取Class类的三种方法:类名.class对象名.getClass()Class.forName("要加
1、获取Class对象在JavaAPI中,提供了获取Class类对象的三种方法:第一种,使用Class.forName静态方法。前提:已明确类的全路径名。第二种
有三种方法:1、通过$scope绑定(不推荐)2、通过对象数组绑定3、通过key/value键值对绑定实现方法:1、通过$scope绑定(不推荐):functi
Jquery中绑定事件有三种方法:以click事件为例(1)target.click(function(){});(2)target.bind("click",
java实现多线程的三种方法在java中,有三种方法可以实现多线程。第一种方法:继承Thread类,重写run函数。第二种方法:实现Runnable接口,重写r