33 lines
647 B
Vue
33 lines
647 B
Vue
<script setup>
|
|
import Card from './Card.vue'
|
|
|
|
const onClickAdd = () => {
|
|
alert('Добавлено в корзину')
|
|
}
|
|
|
|
defineProps({
|
|
items: Array
|
|
})
|
|
|
|
defineEmits([
|
|
'addToFavorite',
|
|
])
|
|
</script>
|
|
|
|
<template>
|
|
<div class="grid md:grid-cols-2 xl:grid-cols-4 gap-5">
|
|
<Card
|
|
v-for="item in items"
|
|
:key="item.id"
|
|
:id="item.id"
|
|
:image-url="item.imageUrl"
|
|
:title="item.title"
|
|
:price="item.price"
|
|
:is-added="item.isAdded"
|
|
:is-favorite="item.isFavorite"
|
|
:on-click-add="onClickAdd"
|
|
:on-click-favorite="() => $emit('addToFavorite', item)"
|
|
/>
|
|
</div>
|
|
</template>
|