Vue3之v-show不能放置于自定义组件
控制台警告Runtime directive used on component with non-element root node. The directives will not function as intended
.
原因
意思是自定义指令不能放到组件上,而是要放到自有的元素上
也就是这里用到的v-show不能放在自定义组件上,而是放在原来就有的标签上
比如之前的是这样子,v-show 指令用在了自定义组件edit-attribute-box身上,就警告了
<edit-attribute-box v-show="popupStore.showEditAttributeBox"></edit-attribute-box>
解决
外面套一层不是自定义组件的东东就可以,我这里套了一层div,你也可以嵌套一层template
<div v-show="popupStore.showEditAttributeBox">
<edit-attribute-box></edit-attribute-box>
</div>
// 下面这个不行,会报错
<template v-show="popupStore.showEditAttributeBox">
<edit-attribute-box></edit-attribute-box>
</template>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!