for循环中的Vue插槽范围
Posted
技术标签:
【中文标题】for循环中的Vue插槽范围【英文标题】:Vue slot scopes within for loop 【发布时间】:2019-07-27 00:56:15 【问题描述】:我在v-for
循环中有多个插槽,如下所示。除了为每个插槽绑定我的数据之外,有没有办法可以将此数据绑定到 v-for
循环中的所有插槽?
<div class="vehicle-listing" v-for="(vehicle, index) in vehicles" :key="vehicle.id ? vehicle.id : 'undefined'+index">
<div class="vehicle-listing__image">
<slot name="listing-image" v-bind:vehicle="vehicle">
Default content
</slot>
</div>
<div class="vehicle-listing__title">
<slot name="listing-title" v-bind:vehicle="vehicle">
<slot name="listing-title__header" v-bind:vehicle="vehicle">
Default content
</slot>
<slot name="listing-title__subtitle" v-bind:vehicle="vehicle">
Default content
</slot>
<slot name="listing-title__price" v-bind:vehicle="vehicle">
Default content
</slot>
<slot name="listing-title__favourites" v-bind:vehicle="vehicle">
Default content
</slot>
</slot>
</div>
<div class="vehicle-listing__summary">
<slot name="listing-summary" v-bind:vehicle="vehicle">
Default content
</slot>
</div>
<div class="vehicle-listing__finance">
<slot name="listing-finance" v-bind:vehicle="vehicle">
Default content
</slot>
</div>
<div class="vehicle-listing__info">
<slot name="listing-info" v-bind:vehicle="vehicle">
Default content
</slot>
</div>
<div class="vehicle-listing__location">
<slot name="listing-location" v-bind:vehicle="vehicle">
Default content
</slot>
</div>
<div class="vehicle-listing__button-block">
<slot name="listing-cta" v-bind:vehicle="vehicle">
Default content
</slot>
</div>
</div>
【问题讨论】:
【参考方案1】:不,没有办法一次绑定到所有插槽。您需要为每个插槽单独提供绑定。
https://vuejs.org/v2/guide/components-slots.html#Scoped-Slots
【讨论】:
以上是关于for循环中的Vue插槽范围的主要内容,如果未能解决你的问题,请参考以下文章