动态组件绑定实现Tabs切换

使用动态组件绑定实现Tabs切换

在Vue里面实现Tab切换主要有三种方式:

  • 使用vue-router适用于大型应用
  • 使用动态组件绑定
  • 用active用css控制显示和隐藏

今天主要研究使用动态组件的Tab切换,上代码

<template>
    <div>
        <div>
            <span @click="selected('tab1')">tab1</span>
            <span @click="selected('tab2')">tab2</span>
            <span @click="selected('tab3')">tab3</span>
        </div>
            <tab1 :is='current'> //主组件动态绑定其他组件
    </div>
</template>

<script lang="ts">
import tab1 from './lib/tab1.vue';
import tab2 from './lib/tab2.vue';
import tab3 from './lib/tab3.vue';
export default{
  components: {tab1, tab2, tab3},
  data(){
        current:tab1 //传组件
    }
  methods:{
        selected(e){
            this.currtent = e //接受传的组件
      }
    }
}
</script>

使用动态组件绑定可以分为以下几个步骤:

  • 在父组件中定义一个主 tab 标签页,用于切换
  • 同时为每个 tab 绑定点击事件,传入该 tab 的子组件名
  • 最后引入并定义子组件

keep-alive 指令可以将切换出去的组件保留在内存中,可以保留它的状态或避免重新渲染。

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

推荐阅读更多精彩内容