我正在使用一个名为Hooper的滑块组件。一切都很好,显然我为此创建了一个单独的组件,因为我不想将它包含在我的全局应用程序中,因为我并不总是使用它。<template> <hooper :infiniteScroll="true"> <slide v-for="(image, index) in images" :style=" { backgroundImage: 'url(\'img/' + image + '\')' }" :key="index">dsadasd</slide> </hooper></template><script> import { Hooper, Slide } from 'hooper'; import 'hooper/dist/hooper.css'; export default { props: [ 'images' ], name: 'Hooper', components: { 'hooper': Hooper, 'slide': Slide } };</script>所以要使用这个组件,我将它添加到我的刀片文件中,如下所示:@extends('layouts.app')@section('content') <carousel :images="[ 'slider-1.jpg', 'slider-2.jpg', 'slider-3.jpg' ]" class="carousel"></carousel> <div class="container"> <h1 class="p-4 text-lg font-sans">Home</h1> </div>@endsection我的问题因此,我希望能够向每张幻灯片添加我想要的任何 HTML,并定义图像名称,因此在理想情况下,我的刀片文件中会包含以下内容:@extends('layouts.app')@section('content') <carousel class="carousel"> <slide :style=" { backgroundImage: 'url(\'img/image-1.jpg\')' }"> <h3>header text</h3> <p>dsadasfhshshsgfgas</p> </slide> <slide :style=" { backgroundImage: 'url(\'img/image-2.jpg\')' }"> <h3>header text 2</h3> <p>dsadasdsdsadsafhshshsgfgas</p> </slide> </carousel> <div class="container"> <h1 class="p-4 text-lg font-sans">Home</h1> </div>@endsection但是幻灯片不是注册组件,我该怎么做?对此有另一个想法。以为我可以为组件中的每个循环创建一个插槽,然后在刀片文件中覆盖该插槽,如下所示:Carousel.vue<template> <hooper :infiniteScroll="true" class="carousel"> <slide v-for="(image, index) in images" :style=" { backgroundImage: 'url(\'img/' + image + '\')' }" :key="index"> <slot :name="'slide' + index"></slot> </slide> </hooper></template>这似乎不起作用,我不确定为什么,有人知道解决方法吗?
1 回答
宝慕林4294392
TA贡献2021条经验 获得超8个赞
您的最后一个带有动态插槽名称的示例应该可以工作,除非它使用了错误的 v-slot。您的预期用途可能是
<carousel :images="[ 'slider-1.jpg', 'slider-2.jpg', 'slider-3.jpg' ]" class="carousel">
<template #slide1="slotProps"> // slotProps are optional here, if you want to pass data from Hooper/Slide to the slot
<h2> Header </h2>
<p> Text </p>
</template>
<template #slide2>
<h3> Different Header </h3>
<div> Different Text </div>
</template>
</carousel>
v-slot="slide1" 等价于 v-slot:default="slide1",例如,您将默认插槽(不可用)接收到的道具分配给名称 slide1。
添加回答
举报
0/150
提交
取消