Как назвать идентификатор div с параметром, переданным в качестве реквизита
Я пытаюсь назвать идентификатор div и data-bs-target кнопки с именем, переданным в качестве реквизита, чтобы я мог использовать один и тот же компонент несколько раз на одной странице с разными идентификаторами. Поскольку они являются кнопками и имеют общий идентификатор, даже если я нажимаю разные кнопки, всегда нажимается первая кнопка, потому что все они имеют одинаковый идентификатор.
Класс RestauranteCard.vue HTML
<div
v-if="!noimage"
id=carouselNumber
class="carousel slide"
data-bs-ride="carousel"
data-interval="false"
>
<div class="carousel-inner">
<div
v-for="(link, idx) in imagenesLink"
:key="link"
class="carousel-item"
:class="{ active: idx === 0 }"
>
<img :src="link" class="d-block w-100" alt="foto" />
</div>
</div>
<button
class="carousel-control-prev"
type="button"
data-bs-target=#carouselNumber
data-bs-slide="prev"
>
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</button>
<button
class="carousel-control-next"
type="button"
data-bs-target=#carouselNumber
data-bs-slide="next"
>
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>
JS
props: {
restaurante: {
type: Object,
required: true,
},
carouselNumber: {
type: String
}
},
Класс, вызывающий RestaurantCard
<div v-else
class="card row-cols-1"
v-for="restaurante in restaurantes"
:key="restaurante.id"
>
<RestauranteCard :restaurante="restaurante" :carouselNumber="restaurante.id"></RestauranteCard>
</div>
1 ответ
Поскольку id
является атрибутом fallthrough, который передается неявно, без необходимости определять его как реквизит, вы можете сделать:
<div v-else
class="card row-cols-1"
v-for="restaurante in restaurantes"
:key="restaurante.id"
>
<RestauranteCard :id="restaurante.id" :restaurante="restaurante" :carouselNumber="restaurante.id"></RestauranteCard>
</div>
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Обратите внимание, что JavaScript — это НЕ Java. Включите все теги, относящиеся к вашему вопросу: например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [стройный] и т. д.