美文网首页
如何在vue3中通过点击按钮异步加载组件

如何在vue3中通过点击按钮异步加载组件

作者: 青春向来如此 | 来源:发表于2021-04-17 13:01 被阅读0次

方式一:

<template>
  <button @click="handleClick">点击异步加载组件</button>
  <component :is="currentTabComponent"></component>
</template>
<script>
import { defineAsyncComponent, shallowRef } from "vue";
export default {
  setup() {
    const currentTabComponent = shallowRef(null);

    const handleClick = () => {
      currentTabComponent.value = defineAsyncComponent(() => import("./components/AsyncComponent.vue"));
    };
    return {
      handleClick,
      currentTabComponent,
    };
  },
};
</script>

方式二:

<template>
  <button @click="handleClick">点击异步加载组件</button>
  <AsyncComponent v-if="show" />
</template>
<script>
import { defineAsyncComponent, ref, shallowRef } from "vue";
export default {
  components: {
    AsyncComponent: defineAsyncComponent(() => import("./components/AsyncComponent.vue")),
  },
  setup() {
    const show = ref(false);
    const handleClick = () => {
      show.value = true;
    };
    return {
      handleClick,
      show,
    };
  },
};
</script>

点击加载按钮前如下图:


加载前.png

点击加载按钮后如下图:


加载后.png

相关文章

  • 如何在vue3中通过点击按钮异步加载组件

    方式一: 方式二: 点击加载按钮前如下图: 点击加载按钮后如下图:

  • 20、Vue3 异步组件

    vue3中提供了defineAsyncComponent加载异步组件 案例 components/async.vu...

  • vue+webpack实现异步组件加载

    HTML JS 注意:加载异步组件的时候,组件名后边的.vue不要忽略。这个例子应该比较直观了。点击按钮之后改变了...

  • Vue3.0破坏性变化----异步组件

    vue3.0中异步组件要求使用defineAsyncComponent方法创建 由于vue3中函数式组件必须定义为...

  • Layer 弹窗 回车执行确定按钮事件

    在 layer 弹层组件中,其确认按钮需要通过鼠标点击,而在实际需求中,我们往往想要通过回车就能够执行确定按钮事件...

  • vue-01

    vue+webpack 优化 一.异步加载 1.异步加载组件,其实就是组件懒加载。可以理解为:当我需要使用组件的时...

  • vue 异步加载组件

    通过箭头函数加import 可以实现异步加载组件功能,可以实现性能优化

  • react记录 二

    目录 一.react异步加载组件,分模块加载,提高打开性能 二. 三. 四. 一.react异步加载组件,分模块加...

  • Vue的异步组件

    异步组件,顾名思义,按需加载组件。 在vue的文档中,除了异步组件的高级使用方法外,介绍了三个异步组件的解决方案 ...

  • react异步加载组件与代码分割

    继续学习github高赞项目react-pxq 项目router中引入了路由组件,使用了异步加载的模式 异步加载组...

网友评论

      本文标题:如何在vue3中通过点击按钮异步加载组件

      本文链接:https://www.haomeiwen.com/subject/mtbulltx.html