vue.js - Vue:如何拥有条件槽组件?
问题描述
我有一个 10 个数组,items
其中一半与 . type: 'Normal'
,另一半与type: 'Variant'
. 我试图将它们传递给MyComponent
然后插入,Component1
如果类型是Normal
,Component2
则插入如果type
是Variant
。
我遇到了一个问题,因为我一直被Component1
排在所有 10 次位置,而不是一半Component1
一半Component2
家长
<MyComponent :items="items">
<template v-slot="slotProps">
<Component1
v-if="slotProps.item.type === 'Normal'"
/>
<Component2
v-if="slotProps.item.type === 'Variant'"
:class="$style.gridCover"
/>
</template>
</MyComponent>
我的组件.vue
<template v-for="(item, index) in items">
<div
:key="index"
:class="$style.gridItem"
>
<slot :item="item"></slot>
</div>
</template>
解决方案
在MyComponent.vue中创建两个名称槽
然后
v-if
在MyComponent.vue中使用,而不是在 Parent
推荐阅读
- react-native - expo react-native spotify 身份验证问题
- java - 有没有办法在 Java 中将字节类型和浮点类型值相乘?
- kubernetes - 是否可以离线运行“oc cluster up”?
- verilog - 如何用小模块实现verilog代码
- spring - 使用 Postman(本机应用程序)获取 415 不受支持的媒体类型
- r - R中的Dygraphs:绘制不同组的功能区和平均线
- java - 如何为集成测试创建模拟 VaadinSession?
- javascript - 如何在单人纸牌游戏等扑克中做出最佳决策?
- python - 如何在我的应用程序中以 kv lang 或普通 kivy 向屏幕添加签名/绘画方法?
- discord - Discord Python Rewrite - 静音“找不到角色”