首页 > 其他分享 >vue component:is 组件切换

vue component:is 组件切换

时间:2023-05-19 10:36:50浏览次数:31  
标签:Child1 Child2 vue component currentComp 组件 shallowRef

<template>
 
  <Child1 />
  <Child2 />
  <component :is="currentComp"></component>
 
  <el-button @click="compChange">切换组件</el-button>
 
</template>
<script setup>
  import { shallowRef, ref } from 'vue'
  import Child1 from './Child1.vue'
  import Child2 from './Child2.vue'
 
  //这里用ref的话,vue给出警告Vue接收到一个组件,该组件被制成反应对象。这可能会导致不必要的性能开销,应该通过将组件标记为“markRaw”或使用“shallowRef”而不是“ref”来避免。
  // 如果使用 markRaw 那么currentComp将不永远不会再成为响应式对象。 所以得使用 shallowRef
  let currentComp = shallowRef(Child1)  
 
  // 切换组件
  const compChange = () => {
    if(currentComp.value == Child1) {
      currentComp.value = Child2
    }else {
      currentComp.value = Child1
    }
  }
 
</script>

原文链接 https://blog.csdn.net/m0_51431448/article/details/122875963

标签:Child1,Child2,vue,component,currentComp,组件,shallowRef
From: https://www.cnblogs.com/hhcome/p/17414167.html

相关文章

  • 界面控件DevExpress Blazor UI v22.2 - 报表、富文本编辑器组件增强
    DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpressDashboardeXpressApp框架、适用于VisualStudio的CodeRush等一系列辅助工具,该组件拥有众多新产品和数十个具有高影响力的功能,可为桌面、Web和移动应用提供直观的解决方案,全面解决各种使用场......
  • 【小小demo】Springboot + Vue 增删改查
    vue-table-ui该工程提供的是一个简单的Vue+Element-UI的表格,增删改查操作。工程代码在最下面。环境jdk1.8ideamavenspringboot2.1.1.RELEASE示例首页查询新增修改删除官方文档Element-Ui:https://element.eleme.cn/#/zh-CN/component/installationV......
  • 在 Vue 中使用 iframe 嵌套页面
    1.在Vue中引入iframe在Vue中使用iframe技术需要在组件中引入iframe标签,代码如下:<template><div><iframesrc="https://www.baidu.com"></iframe></div></template>2.设置iframe的样式在Vue中使用iframe技术需要设置iframe的样式,包括宽度、......
  • Vue 自定义指令实践
    Vue自定义指令一个自定义指令由一个包含类似组件生命周期钩子的对象来定义。钩子函数会接收到指令所绑定元素作为其参数。在 <scriptsetup> 中,任何以 v 开头的驼峰式命名的变量都可以被用作一个自定义指令。eg: 在上面的例子中,vFocus 即可以在模板中以 v-focus 的形......
  • Vue Ant Design Pro 中定制主题
    VueAntDesignPro中定制主题需求定制主题去除“正在切换主题”过渡效果 需求项目要求使用草绿色的主题色并且去除如下的loading效果定制主题这里可以参照AntDesignProofVue官方文档哦定制方式是使用 less 的modifyVars的方式进行覆盖变量官方文档......
  • 在Vue2项目中遇到的问题汇总
    1问题1:Proxyerror:Couldnotproxyrequest/studentsfromlocalhost:8080tohttp://localhost:5000/.SeehtProxyerror:Couldnotproxyrequest/studentsfromlocalhost:8080tohttp://localhost:5000/.Seeht终端报错:浏览器报错这个里面给的文件没有打开,打......
  • Vue3迎来升级,全面助力企业数字化转型
    近年来,随着“互联网+”的推进与应用普及,数字化转型已经成为企业发展的必备选项。低代码开发平台的迅速普及和广泛应用,也为企业数字化的转型提供了支撑技术。JNPF快速开发平台深度集成java+.net 6 双技术引擎,具备易维护、便部署、高集成、高效率等多方面特性,面向企业项目提供开......
  • VUE项目
    一、创建vue工程使用vue工程之前,确保已经安装了nodejs,在命令行中输入node-v可以看到node版本即可。nodejs官网下载地址http://nodejs.cn/download/current/安装vue#在cmd或pycharm的下方Terminal中执行命令npmconfigsetregistryhttps://registry.npm.taobao.org#......
  • vue中pdf预览,报错(Cannot read properties of undefined (reading ‘catch‘))解决
    1、在node_modules中找到vue-pdf,src下的pdfjsWrapper.jsif(pdfRender!==null){if(canceling)return;canceling=true;pdfRender.cancel().catch(function(err){emitEvent('error',err);});return;}修改为if(pdf......
  • VUE基础
    一、基础vue和jquery一样,是前端的js库在html文件中使用需导入vue.js:<scriptsrc="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>{{xx}}来表示取某个变量xx的值二、vue指令v-model:双向数据绑定用来在input、select、textarea、checkbox、radio等表单控......