vue.js实现动态更改css样式

本文介绍了Vue.js中四种动态设置元素样式的方法:通过`v-bind:class`结合条件判断改变class,使用运算表达式控制样式,直接用data属性绑定class,以及根据布尔值切换class。示例代码展示了如何实现点击切换高亮、全选功能以及动态响应数据变化更新class。
摘要由CSDN通过智能技术生成

方式一:
HTML代码:

<ul class="header-list">
	<li v-cloak v-for="(item,index) in headerList" v-on:click="selectMainTheme(index)">
		<a href="java:;" :class="{'active':idx == index}">{{item.name}}</a>
	</li>
</ul>

Javascript代码:

var app = new Vue({
	el:"#app",
	router,
	data:{
		m:"hello vue.js",
		active:'2',
		idx:'0',   //默认选择首页
		headerList:[
			{name:'首页1'},
			{name:'首页2'},
			{name:'首页3'},
			{name:'首页4'},
			{name:'首页5'},
			{name:'首页6'}
		]
	},
	methods:{
		// 1.选择
		selectMainTheme:function(index){
			console.log("selectMainTheme" + index);
			console.log("idx" + this.idx);
			this.idx = index;
		}
	}	
});

方式二:运算表达式

<i class="iconfont checkAllBtn" 
	:class="checkAll?'icon-checkboxround1':'icon-checkboxround0' " 
	v-model="checkAll" @click="choiceAll">全选</i>

方式三:

HTML代码:

<div :class="classA">Demo2</div>

Javascript代码:

data: {
  classA: 'class-a'  //当classA改变时将更新class
}

渲染后的HTML:

<div class="class-a">Demo2</div>

方式四:

HTML代码:

<div :class="{ 'class-a': isA, 'class-b': isB}">Demo4</div>

Javascript代码:

data: {
  isA: false,  //当isA改变时,将更新class
  isB: true    //当isB改变时,将更新class
}

渲染后的HTML:

<div class="class-b">Demo4</div>
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值