
[英]Bind 'this' to NavigationBarRouteMapper non-function
[英][Vue warn]: Non-function value encountered for default slot. Prefer function slots for better performance
我正在为 Vitest 中的 Vue 3 Composition API 组件编写单元测试。 我的所有单元测试都通过了组件而没有问题 - 但是,当我运行它们时,我从 Vue 收到了这个警告:
[Vue warn]: Non-function value encountered for default slot. Prefer function slots for better performance.
有问题的代码是一个Teleport
标签,它在 store 值为 true 时呈现模式。 如果我将该代码注释掉,或清空任何内容的插槽,则不会出现警告。 我尝试过 stubing Teleport
,其中模板是<div>Hello World</div>
和<div><slot></slot></div>
,但这并没有解决问题。
<Teleport to="body">
<Modal v-if="showModal" :is-open="showModal" @close="closeModal">
<component
:is="childBlock.component"
v-for="childBlock in $store.ui.getActiveModalCardContent"
:key="childBlock._uid"
:blok="childBlock"
class="col-span-2"
/>
</Modal>
</Teleport>
我查看了警告代码,但我看到的解决方案使用渲染 function 来创建他们的组件,而不是使用模板发生。 应用程序运行时,我在控制台中没有收到任何问题、警告或其他信息; 仅在测试时。
我尝试用返回数据的 function 替换一些传入的数据,但这不起作用。
我是否缺少某种手动导入? 还是我需要vi.mock()
一些东西?
这些是我能找到的最相关的解决方案,但尝试应用这些解决方案但没有成功: “遇到默认插槽的非函数值。” 在 Vue 3 中组成 API 组件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.