vue-music 关于基础组件 (Tab组件)

Posted catbrother

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue-music 关于基础组件 (Tab组件)相关的知识,希望对你有一定的参考价值。

技术分享图片技术分享图片

定义在项目的基础组类别的 tab组件中,定义一个tab切换数量的数组 和一个currentIndex 当前高亮索引 的props,当前高亮(active)的类等于currentIndex === index 当前循环的索引值,增加点击派发事件传入index 索引参数,

调用组件的页面接受派发事件点击的index 索引,底下的内容根据this.currentIndex 的值v-if 显示隐藏

tab组件

<template>
  <ul class="switches">
    <li class="switch-item" v-for="(item,index) in switches" :class="{‘active‘:currentIndex === index}"
        @click="switchItem(index)">
      <span>{{item.name}} </span>
    </li>
  </ul>
</template>

<script type="text/ecmascript-6">
  export default {
    props: {
      switches: {
        type: Array,
        default: []
      },
      currentIndex: {
        type: Number,
        default: 0
      }
    },
    methods: {
      switchItem(index) {
        this.$emit(‘switch‘, index)
      }
    }
  }
</script>

调用

<switches :switches="switches" :currentIndex="currentIndex" @switch="switchItem"></switches>
data() {
  return {
    currentIndex: 0,
    switches: [
      {
        name: ‘最近播放‘
      },
      {
        name: ‘搜索历史‘
      }
    ]
  }
},

switchItem(index) {
  this.currentIndex = index
},

 

以上是关于vue-music 关于基础组件 (Tab组件)的主要内容,如果未能解决你的问题,请参考以下文章

vue-music 关于playlist (底部播放列表组件)

vue-music 关于Player (播放器组件)--播放模式

vue-music 关于Search(搜索页面)--上拉加载

vue-music 关于Search(搜索页面)--上拉加载

vue-music 关于搜索历史本地存储

vue-music 关于Search(搜索页面)-- 搜索结果优化