父元素选中,子元素高亮,处理频道激活高亮

### 让激活频道高亮

问题描述:

在频道选中时,频道列表的频道高亮,从
在这里插入图片描述
在这里插入图片描述

思路:

  • 将首页中的激活的标签索引传递给频道编辑组件
  • 在频道编辑组件中遍历我的频道列表的时候判断遍历项的索引是否等于激活的频道标签索引,如果一样则作用一个高亮的 CSS 类名

过程:

主页面:

<van-tabs class="channel-tabs" v-model="active" animated swipeable /> 

v-model所绑定的active就是绑定当前标签所对应的索引值,

      <channel-edit
      :my-channels="channels"
      :active="active"
      />
      //父元素传送active值
  props: {
    active: {
      type: Number,
      required: true
    }
  }
  子元素接收

为了给文本单独设置样式,在循环中设置插槽,在span里显示循环id

<van-grid class="my-grid" :gutter="10">
            <van-grid-item
            class="grid-item"
            v-for="(channel,index) in myChannels"
            :key="index"
            icon="clear"/>
            <!--
                v-bind:class 语法
                一个对象,对象中的key表示要作用的css类名
                    对象中的value要计算出布尔值
                        true,则作用该类名
                        false,则不作用
              -->
            <span
            class="text"
            :class="{active:index === active}"
            slot=text
            >
                {{ channel.name }}
            </span>
            </van-grid>

设置active样式

.active{
    color:red
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值