vue-使用万能组件实现tab切换

其实实现tab切换的方式有很多种,在豆瓣的小项目中,我想着尝试用component组件实现一下

<div class="tab" v-for="(item,index) in tabs" :key="index" @click="changeTab(index)" :style="isActive===index?'border-bottom-color:#f00;color:#333;':'color: #9b9b9b;border-bottom-color:transparent'">{{item.text}}</div>

其实这里改成动态设置class是比较简单的,但是当时是写成动态更改style了。

isActive是data中设置的变量,便是当前是那个tab被选中了。

然后是万能组件

<component :is="tab_content" class="tabs_content"></component>

点击某个tab触发changetab方法

changeTab(index){

this.isActive=index;

this.tab_content=this.tab_content_arr[index];

}

tab_content和tab_content_arr的初始值

tab_content:"BookBuy",

tab_content_arr:["BookActivity","BookBuy","BookTabList"]

其实他们就是我们引进的需要被切换的子组件的名称,使用时要将他们引入并注册好。

import BookBuy from './BookBuy.vue';

...

components:{

BookBuy,

...

},

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # 传智播客vue 学习## 1. 什么是 Vue.js* Vue 开发手机 APP 需要借助于 Weex* Vu...
    再见天才阅读 3,590评论 0 6
  • vue笔记 一.vue实例 vue的生命周期 beforeCreate(创建前), created(创建后), b...
    秋殇1002阅读 1,068评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,845评论 18 139
  • 忆己之旅星际玛雅圣殿调频 12-Day2 2018年1月18日 周四 Kin240 黄色韵律的太阳 关键词:回顾 ...
    蓝天白云晴阅读 120评论 0 0
  • 文/月中山 许是因为年纪大了,红凤婶儿有时昏昏沉沉的站在家门口,望着前面的几棵樱桃树,还有一畦开了花的油菜田总是出...
    月中山阅读 378评论 0 5