Vue3中的动态组件,使用动态组件实现页面的切换。

目录

本文主要介绍Vue3中的动态组件,使用动态组件实现页面的切换。

动态组件

在Vue3中,动态组件是通过<component>元素来实现的。动态组件可以根据所设置的组件名称动态地渲染不同的组件。

动态组件可以通过以下步骤来使用:

  1. 在Vue组件中使用<component>元素,并将组件名称设置为一个变量,如<component :is="currentComponent"></component>

  2. 在组件中定义一个变量来存储当前要渲染的组件名称,如currentComponent

  3. 动态修改currentComponent变量的值,可以通过一个组件中的事件来触发,例如点击按钮或根据数据的不同进行切换。

例如,在下面的例子中,我们可以使用<component>元素来渲染不同的组件:
FirstComponent.vue

html 复制代码
<template>
	<div>FirstComponent</div>
</template>

<script>
</script>

<style>
</style>

SecondComponent.vue

html 复制代码
<template>
	<div>SecondComponent</div>
</template>

<script>
</script>

<style>
</style>

App.vue

html 复制代码
<template>
  <div>
    <button @click="toggleComponent">Toggle Component</button>
    <component :is="currentComponent"></component>
  </div>
</template>

<script>
import FirstComponent from './components/FirstComponent.vue'
import SecondComponent from './components/SecondComponent.vue'

export default {
  components: {
    FirstComponent,
    SecondComponent
  },
  data() {
    return {
      currentComponent: 'FirstComponent'
    }
  },
  methods: {
    toggleComponent() {
      if (this.currentComponent === 'FirstComponent') {
        this.currentComponent = 'SecondComponent'
      } else {
        this.currentComponent = 'FirstComponent'
      }
    }
  }
}
</script>

在这个例子中,我们有两个组件 FirstComponentSecondComponent,并且在 data 中定义了一个 currentComponent 变量,来存储当前要渲染的组件名称。通过点击按钮的事件来切换组件。

  1. 首次进入图1-1所示:

    图1-1 默认状态

  2. 点击Toggle Component按钮后,如图1-2所示:

    图1-2 点击了1次Toggle Component按钮,切换到了SecondComponent组件。

  3. 再次点击Toggle Component按钮后,如图1-3所示:

    图1-3 第2次点击Toggle Component按钮,切换回了FirstComponent组件。

以上就是通过点击按钮的方式,实现了使用动态组件切换页面的功能。

相关推荐
耳东小鹿26 分钟前
对象常用方法
前端
程序员海军28 分钟前
一个 AI 应用开发程序员的一天,都在屏幕前忙些什么?
前端·后端·程序员
程序员黑豆1 小时前
鸿蒙应用开发:Stack堆叠组件实战——实现微信消息角标效果
前端·harmonyos
夏幻灵1 小时前
浏览器原理深度解析:从输入 URL 到页面展现的全流程剖析
前端
会周易的程序员1 小时前
js-shm: 高性能 Node.js 共享内存模块
开发语言·javascript·c++·node.js·共享内存·shm
闲猫1 小时前
Agent工程实践:从WorkFlow到多Agent协作的落地笔记
java·服务器·前端
带娃的IT创业者2 小时前
重新定义前端构建速度:深度解析 SWC 如何用 Rust 颠覆 JavaScript 工具链
前端·javascript·rust·前端构建·swc
happy_0x3f2 小时前
前端应用的离线暂停更新策略
开发语言·前端·php
m0_547486662 小时前
《Vue.js + uni-app全栈开发从入门到实践 》全套PPT课件2026版
vue.js·uni-app
你驴我2 小时前
WhatsApp 消息撤回与编辑的幂等性设计实践
java·服务器·前端·后端·python