当前位置: 首页 > news >正文

地方门户网站建设设计模板素材网站

地方门户网站建设,设计模板素材网站,宝安中心医院入职体检多少钱,网络优化的工作内容有哪些使用场景: 多个组件通过component标签挂载在同一个组件中,通过触发时间进行动态切换。vue3与vue2用法不一样,这里有坑! 使用方法: 1.通过vue的defineAsyncComponent实现挂载组件 2.component中的is属性 父组件&am…

使用场景:

多个组件通过component标签挂载在同一个组件中,通过触发时间进行动态切换。vue3与vue2用法不一样,这里有坑!

使用方法:

1.通过vue的defineAsyncComponent实现挂载组件

2.component中的is属性

父组件:

<template><div><div v-for="item in person.data" :key="item" @click="btn(item)">{{ item.name }}</div><h1>下面为动态组件</h1><component :is="person.componen"> </component></div>
</template><script setup>
import { reactive, onMounted, defineAsyncComponent } from "vue";
const One = defineAsyncComponent(() => import("./One.vue"));
const Two = defineAsyncComponent(() => import("./Two.vue"));const person = reactive({componen: "",data: [{ type: "one", name: "显示组件一" },{ type: "two", name: "显示组件二" },],
});
function btn(item) {if (item.type == "one") person.componen = One;if (item.type == "two") person.componen = Two;
}onMounted(() => {});
</script>

子组件:

<template><div>组件一</div><el-input v-model="person.input"></el-input>
</template><script setup>
import { ref, reactive, onMounted, computed, watch } from "vue";const person = reactive({ input: "" });
onMounted(() => {console.log("组件一");
});
</script>
<style scoped lang='less'>
</style>

效果:

这里会有警告:Vue received a Component that was made a reactive object. This can lead to unnecessary performance overhead and should be avoided by marking the component with `markRaw` or using `shallowRef` instead of `ref`. (Vue收到一个组件,该组件被设置为反应对象。这可能会导致不必要的性能开销,应该通过用“markRaw”标记组件或使用“shallowRef”而不是“ref”来避免。)

        

解决方法:

1.使用shallowRef替换响应式

<template><div><div v-for="item in person.data" :key="item" @click="btn(item)">{{ item.name }}</div><h1>下面为动态组件</h1><keep-alive><component :is="componen"> </component></keep-alive></div>
</template><script setup>
import { reactive, onMounted, defineAsyncComponent, shallowRef } from "vue";
let componen = shallowRef(null);
const Two = defineAsyncComponent(() => import("./Two.vue"));
const One = defineAsyncComponent(() => import("./One.vue"));
let obj = shallowRef({Two,One,
});
const person = reactive({data: [{ type: "one", name: "显示组件一" },{ type: "two", name: "显示组件二" },],
});
function btn(item) {if (item.type == "one") componen.value = obj.value.One;if (item.type == "two") componen.value = obj.value.Two;
}onMounted(() => {});
</script>
<style scoped lang='less'>
</style>

http://www.yayakq.cn/news/713372/

相关文章:

  • 在网站上卖东西怎么做多个网站备案吗
  • 网站关键词优化排名郑州企业自助建站系统
  • 茂名网站优化网站后台动态播放怎么做的
  • 沙河高端网站建设河北网络公司有哪些
  • 网站 数据库 sql 导入数据库文件wordpress 多栏目
  • 公司如何办网站宁波网站的优化
  • 建设西安网站百度指数三个功能模块
  • 网站制作对公司的作用discuz 调用 wordpress
  • 计算机网站的开发流程网站设计任务
  • 网站建设目录结构docwordpress 域名授权
  • 山西建设部网站做化妆招生宣传在那些网站可以做
  • 营销网站设计与规划方案仓库进销存管理软件免费版
  • 音乐网站建设视频教程wordpress 建站教程
  • 天河建设网站制作营业执照 网站开发
  • 找人做网站上线后被投诉侵权html5个人网页制作代码
  • 上海百度整站优化服务wordpress 赞
  • 设计漂亮的网站wordpress 购买按钮
  • 中邦建设工程有限公司网站北京加盟网站建设
  • 浙江住房与城乡建设部网站杭州seo关键字优化
  • 网站网页怎么压缩免费的软件网站
  • 企业做网站公司怎么做竞价推广托管服务
  • 备案期间网站可以做竞价吗域名升级维护中紧急维护
  • 手机网站开发设计包括什么网站页面设计怎么分析
  • 汝州市住房和城乡建设局网站游戏公司怎么注册
  • 中小企业网站建设问题房屋设计网站有哪些
  • 杭州正规企业网站建设上海企业查询
  • 简述创建网站的基本流程自己做动画的手机软件
  • 广东省建设工程造价管理协会网站盐城 网络推广
  • 石家庄网站建设工作室威海市建设工程协会网站
  • 潍坊公司网站建设传统营销渠道有哪些