vue学习

本文介绍如何使用Vue.js创建一个动态切换的Tab选项卡组件,通过v-for遍历和事件绑定实现选项卡切换,利用计算属性动态显示当前选中的组件。

1.面试1:用Vue实现tab选项卡

<template>
  <div class="tabs">
    <button v-for="tab of tabs" @click="toggleTab(tab)">{{ tab }}</button>
    <component :is="currentTabComponent"></component>
  </div>
</template>

<script>
  import TabsHome from './tabs/tabs-home.vue'
  import TabsNews from './tabs/tabs-news.vue'
  import TabsUser from './tabs/tabs-user.vue'

  export default {
    name: "tabs",
    data() {
      return {
        tabs: ['Home', 'User', 'News'],
        currentTab: 'home'
      }
    },
    computed: {
      currentTabComponent() {
        return 'tabs-' + this.currentTab.toLowerCase();
      }
    },
    components: {
      TabsHome,
      TabsNews,
      TabsUser,
    },
    methods: {
      toggleTab(tab) {
        this.currentTab = tab.toLowerCase()
      }
    }
  }
</script>复制代码

 

本例是在vue-cli脚手架的基础上实现的,主要是写业务逻辑,暂无CSS样式。

步骤: 

   1. 创建tab父组件, 子组件tabs-home, tabs-news, tabs-user

   2. 定义三个组件的标题 和当前显示的组件 currentTab 

 

 

 

data() {
    return {
        tabs: ['home', 'news', 'user'],
        currentTab: 'home'
    }
}复制代码

 

   3.  v-for遍历三个button, 且绑定toggleTab()事件,点击时改变currentTab的值

   4. 显示组件<component :is="currentTabsComponent"></component>

   5. 计算属性 currentTabsComponent, 返回组件名称

   6. 导入子组件

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值