动态组件

VUE给我们提供 了一个元素叫component
作用是: 用来动态的挂载不同的组件
实现:使用is特性来进行实现的

  <div id="app">
    <button @click="switchComp('A')">首页 -- 点我显示A 组件 </button>
    <button @click="switchComp('B')">推荐页 -- 点我显示B 组件</button>
    <button @click="switchComp('C')">搜索 -- 点我显示 C 组件</button>
    <button @click="switchComp('D')">点我显示 D组件 </button>
    <component :is="currentComp"></component>  <!--  is  -->
  </div>

  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  <script>
    Vue.component('componentA', {
      template: '<div>你好呀~ 欢迎来到首页 ~~ </div>'
    });
    Vue.component('componentB',{
      template: '<div>你好呀~  欢迎来到推荐页 ~~ </div>'
    });
    Vue.component('componentC',{
      template: '<div> 你好呀~  欢迎来到搜索页 ~~ </div>'
    })
    let componentD = {
      template: '<div>D</div>'
    }
  let app = new Vue({
    el: '#app',
    components: { componentD },
    data: {
      currentComp: 'componentA'
    },
    methods: {
      switchComp(tag) {
        this.currentComp = 'component' + tag
      }
    } 
  })
  </script>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容