vue中的动态组件

本文介绍了Vue.js中动态组件的概念和使用,通过`<component>`元素结合`is`属性实现组件的动态切换。同时,探讨了在动态组件上使用`<keep-alive>`来缓存组件状态,避免重复渲染导致的性能问题,详细阐述了`<keep-alive>`的工作原理,并提供了示例代码供读者实践。
摘要由CSDN通过智能技术生成


一、概念

Vue.js 提供了一个特殊的元素 <component> 用来动态地挂载不同的组件 使用 is 属性来选择要挂载的组件。

<!-- 组件会在 `currentTabComponent` 改变时改变 -->
<component v-bind:is="currentTabComponent"></component>

在上述示例中,currentTabComponent 可以包括

  • 已注册组件的名字,或
  • 一个组件的选项对象

二、代码演示

1、is 属性绑定已注册组件的名字

<div id="app">
  <button @click="changeView('A')">切换到组件A</button>
  <button @click="changeView('B')">切换到组件B</button>
  <button @click="changeView('C')">切换到组件C</button>
  <component :is="currentView"></component>
</div>

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
  let vm = new Vue({
    
    el: "#app",
    data: {
    
      currentView: 'comA'
    },
    components: {
    
      comA: {
    
        template: '<div>组件A</div>'
      },
      comB: {
    
        template: '<div>组件B</div>'
      },
      comC: {
    
        template: '<div>组件C</div>'
      }
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值