zoukankan      html  css  js  c++  java
  • vue 实现tab切换动态加载不同的组件

    vue 实现tab切换动态加载不同的组件

    使用vue中的is特性来加载不同的组件。具体看如下代码;这个功能对于vue比较复杂的页面可以使用上,可以把一个页面的功能拆分出来,使代码更简单。使用方式具体看如下代码:

    主页面代码如下,分别导入了child1.vue, child2.vue, child3.vue 3个小模块,当点击页面某一项的时候去加载不同的组件。

    <style>
      
    </style>
    <template>
      <div>
        <h2>vue 动态组件实现tab切换加载不同的小模块</h2>
        <div>
          <a href="javascript:void(0)" @click="tabChange(child1)">第一项</a>
          <a href="javascript:void(0)" @click="tabChange(child2)">第二项</a>
          <a href="javascript:void(0)" @click="tabChange(child3)">第三项</a>
        </div>
        <!--
          动态地绑定到它的 is 特性,我们让多个组件可以使用同一个挂载点,并动态切换。
        -->
        <div :is="currentView"></div>
      </div>
    </template>
    
    <script>
     // 导入子组件
     import child1 from '@/components/child1';
     import child2 from '@/components/child2';
     import child3 from '@/components/child3';
    
     export default {
       data () {
         return {
           child1: 'child1',
           child2: 'child2',
           child3: 'child3',
           currentView: 'child1' // 默认选中第一项
         };
       },
       methods: {
         tabChange(tabItem) {
           this.currentView = tabItem;
         }
       },
       components: {
         child1,
         child2,
         child3
       }
     };
    </script>

    子组件child1.vue代码如下:

    <style>
      
    </style>
    
    <template>
      <div>我是第一个子组件</div>
    </template>
    
    <script>
      export default {
        data() {
          return {
          }
        }
      }
    </script>

    子组件child2.vue代码如下:

    <style>
      
    </style>
    
    <template>
      <div>我是第二个子组件</div>
    </template>
    
    <script>
      export default {
        data() {
          return {
          }
        }
      }
    </script>

    子组件child3.vue 代码如下:

    <style>
      
    </style>
    
    <template>
      <div>我是第三个子组件</div>
    </template>
    
    <script>
      export default {
        data() {
          return {
          }
        }
      }
    </script>

    查看github上的源码

  • 相关阅读:
    编译使用tinyxml
    GitLab 项目创建后地址由Localhost改为实际IP的方法
    树莓派相机设定
    MongoDB的数据备份与恢复
    Nginx PHP fpm forbidden 原因
    PSR2规范
    docker 日志管理
    Docker 拷贝文件
    Docker MySQL基本操作
    deepin安装php5.6
  • 原文地址:https://www.cnblogs.com/tugenhua0707/p/8722003.html
Copyright © 2011-2022 走看看