vue慕课网音乐项目手记:41-topList排行榜样式的实现

排行榜样式

首先:完成song-list的dom结构和css样式:

<div class="rank" v-show="rank">
          <span :class="getRankCls(index)">{{getRankIndex(index)}}</span>
        </div>
.rank
        flex 0 0 25px
        width 25px
        margin-right 30px
        text-align center
        .icon
          display inline-block
          width 25px
          height 24px
          background-size 25px 24px
          &.icon0
            bg-image('first')
          &.icon1
            bg-image('second')
          &.icon2
            bg-image('third')
        .text
          color $color-theme
          font-size $font-size-large

然后这个组件接收一个props:

props: {
    rank: {
      type: Boolean,
      default: false
    }
  }

这里可以通过两个方法来设置css

getRankCls (index) {
      if (index <= 2) {
        return `icon icon${index}`
      } else {
        return 'text'
      }
    },
    getRankIndex (index) {
      if (index > 2) {
        return index
      }
    }

然后呢,因为这个组件是music-list调用的,所以它也应该接收一个props,传递给song-list组件:

 <song-list :rank="rank" :songs="songs" @select="selectItem"></song-list>
rank: {
      type: Boolean,
      default: false
    }

然后,在top-list组件里面定义rank为true,传递出来:

 data () {
    return {
      rank: true
    }
  },
<music-list :rank="rank" :title="title" :bg-image="bgImage" :songs="songs"></music-list>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值