Vue动态组件切换is

<template>
  <!--Vue3使用is属性来切换组件-->
  <!--KeepAlive标签使组件间切换时被切换的表单值不丢失-->
  <KeepAlive>
    <component :is="currentTab"></component>
  </KeepAlive>
  <button @click="updateis">点击切换控件</button>
</template>
<script setup>
import classtest from "./components/classtest.vue";
import classtest2 from "./components/classtest2.vue";

import { ref, shallowRef } from "vue";
//因为切换组件有性能开销问题,所以使用shallowRef或markRaw
//不是用ref
let currentTab = shallowRef(classtest);

function updateis() {
  if (currentTab.value === classtest2) {
    console.log("classtest2");
    currentTab.value = classtest;
  } else {
    console.log("classtest");
    currentTab.value = classtest2;
  }
}
</script>
<style scoped>
</style>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值