所以我做了一个带有命名插槽的卡组件:
<template>
<div
class="border border-2 border-gray-500 rounded-3xl w-[15rem] h-[15rem] flex flex-col items-center justify-center shadow-2xl"
>
<div
name="logo"
class="w-[80%] h-[80%] border border-2 border-gray-500 rounded-3xl overflow-hidden"
>
<slot name="logo">
<img src="" alt="" class="w-full" />
</slot>
</div>
<div name="name" class="font-bold text-gray-500 my-auto">
<slot name="technology">Technology</slot>
</div>
</div>
</template>
字符串
这是一张带有标识和技术名称的卡片。但是当我使用它的时候:
<template #logo>
<img src="assets\images\hero-section\node.png" alt="" />
</template>
型
我不能控制类的图像。当我一个接一个地向图像添加类时,它的工作原理是这样的:
> <template #logo>
> <img src="assets\images\hero-section\node.png" class="w-[80%]" alt="" />
> </template>
型
但是当我把这个class=“w-[80%]”移动到指定的插槽时,它就不再工作了。我写的任何类的img标签内插槽不工作。如何在插槽中通用控制图像?
1条答案
按热度按时间iaqfqrcu1#
您需要将
w-[80%]
类放在传入插槽的<img>
上。<slot name="logo">
中的<img>
元素在没有<template #logo>
被传递时是一个占位符,并且对您传递到slot中的<img>
没有影响,因为slot的内容被完全替换。应用于占位符<img>
的任何类名对传递的<img>
元素都没有影响。如果您总是希望
logo
插槽中有一个图像,则可以将use a prop替换为<img>
,从而允许您强制执行class
属性值:字符串
然后在使用它:
型