vue中如何窗体加载的时候,让第一个li标签字体呈现红色,点击后让点击的li标签字体变为红色

在这里主要用了vue的v-bind绑定class属性来改变。
在这里插入图片描述
代码:
方法一:

<!DOCTYPE html>
<html lang="en">

	<head>
		<meta charset="UTF-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<title>Document</title>
		<style type="text/css">
			ul li {
				/* 鼠标移上去,添加小手样式 */
				cursor: pointer;
			}

			/* 元素绑定的class样式 */
			.active {
				color: red;
			}
		</style>
	</head>

	<body>
		<div id="app">
			<ul>
				<!-- <h2 :class="{key1:value1, key2:value2}">{{name}}</h2> -->
				<li v-for="(item,index) in movie" @click="change(index)" :class="{ active:index === i }">{{ item }}</li>
			</ul>
		</div>
		<script src="./node_modules/vue/dist/vue.js"></script>
		<script type="text/javascript">
			new Vue({
				el: '#app',
				data() {
					return {
						i: 0,
						movie: ['老友记', '寻梦环游记', '肖申克的救赎', '摩登女王']
					}
				},
				methods: {
					change: function(index){
						console.log(index);
						this.i = index;
					}
				}
			})
		</script>
	</body>

</html>

方法二:
`

<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
	<style type="text/css">
		ul li {
			/* 鼠标移上去,添加小手样式 */
			cursor: pointer;
		}
		/* 元素绑定的class样式 */
		.active {
			color: red;
		}
	</style>
</head>

<body>
	<div id="app">
		<ul>
			<li v-for='(item,index) in movie' @click="liClick(index)" :class='{ active:currentIndex === index }'>{{ item }}</li>      
			
			<!-- 实现原理 -->
			<!-- <li :class='{ active:0 === index }'></li> 
			<li :class='{ active:1 === index }'></li> 
			<li :class='{ active:2 === index }'></li> 
			<li :class='{ active:3 === index }'></li>  -->
		</ul>
	</div>
	<script src="./node_modules/vue/dist/vue.js"></script>
	<script type="text/javascript">
		var app = new Vue({
			el: '#app',
			data() {
				return {
					// 判断变红的数据的索引
					currentIndex: 0, 
					movie: ['寻梦环游记', '肖申克的救赎', '摩登家庭', '老友记']
				}
			},
			methods: {
				// 元素标签点击事件
				liClick(index) {
					this.currentIndex = index; 
				}
			}
		})
	</script>
</body>
`
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值