Vue之动态组件(二)

本文详细介绍了Vue的动态组件,包括如何使用组件、`keep-alive`的缓存机制及其生命周期、`include`和`exclude`属性。此外,还探讨了插槽的概念,如具名插槽、插槽的后备内容和作用域插槽的用法。最后,简要提到了Vue的自定义指令,包括私有和全局自定义指令的创建和使用。
摘要由CSDN通过智能技术生成

Vue之第二篇章学习(动态组件、插槽、自定义指令)

1.动态组件

动态组件指的是:动态的切换组件的显示与隐藏

我们之前可以使用v-if来显示、隐藏组件,但是这样代码臃肿,冗余。我们这里用到Vue的内置组件《component》

示例代码:

<template>
  <div id="app">
   <component :is="comName"></component>
  </div>
</template>

<script>
import Left from '@/components/Left.vue'
import Right from '@/components/Right.vue'
export default {
   
  name: 'App',
  data(){
   
    return {
   
      comName: 'Left'
    }
  },
  components: {
   
   Left,
   Right
  }
}
</script>

利用Vue内置组件《component》并且绑定is属性,通过绑定is的属性值为变量,来动态切换组件。(比如app下面的“首页”、“我的”切换)

1.1《keep-alive》

但是使用上面《component》,我们发现如果切换回原来的组件的时候,组件会被重新创建,并不会缓存之前的状态。

示例代码:

<template>
  <div id="app">
    <keep-alive>
      <component :is="comName"></component>
    </keep-alive>
  </div>
</template>

<script>
import Left from "@/components/Left.vue";
import Right from "@/components/Right.vue";
export default {
   
  name: "App",
  data() {
   
    return {
   
      comName: "Left",
    };
  },
  components: {
   
    Left,
    Right,
  },
};
</script>

默认被包裹在keep-alive中的所有组件会被缓存,就可以保持之前的状态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值