Я пытаюсь создать макет, в котором каждая строка будет содержать 3 карты. для этого я попытался использовать Grid-макет начальной загрузки, чтобы сделать его отзывчивым.
Но проблема в том, что у меня будут данные карт в формате JSON. длина массива объектов JSON может варьироваться, т. е. количество карт, отображаемых на экране, может различаться.
Мне нужно как-то динамически его визуализировать, используя ViewJS, bootstrap-vue & JSON.
Я понял, что Количество объектов в JSON будет относиться к количеству карточек на экране и number of cards/ 3 = number of rows
Я не понимаю, как визуализировать карты в сетке динамически.
Я использую Vue-js и bootstrap-vue, чтобы выполнить задачу, но я застрял с ней.
CardRenderer.vue:
<template lang="html">
<div>
<hr>
<b-container class="bv-example-row">
<b-row>
<b-col>
<b-card
title= "renderObject.title"
img-src="https://picsum.photos/600/300/?image=25"
img-alt="Image"
img-top
tag="article"
style="max-width: 20rem;"
class="mb-2"
>
<b-card-text>
Some quick example text to build on the card title and make up the bulk of the card's content.
</b-card-text>
<b-button href="#" variant="primary">Go somewhere</b-button>
</b-card>
</b-col>
<b-col>
<b-card
title= "renderObject.title"
img-src="https://picsum.photos/600/300/?image=25"
img-alt="Image"
img-top
tag="article"
style="max-width: 20rem;"
class="mb-2"
>
<b-card-text>
Some quick example text to build on the card title and make up the bulk of the card's content.
</b-card-text>
<b-button href="#" variant="primary">Go somewhere</b-button>
</b-card>
</b-col>
<b-col>
<b-card
title= "renderObject.title"
img-src="https://picsum.photos/600/300/?image=25"
img-alt="Image"
img-top
tag="article"
style="max-width: 20rem;"
class="mb-2"
>
<b-card-text>
Some quick example text to build on the card title and make up the bulk of the card's content.
</b-card-text>
<b-button href="#" variant="primary">Go somewhere</b-button>
</b-card>
</b-col>
</b-row>
</b-container>
</div>
</template>
<script lang="js">
export default {
name: 'CardRenderer',
props: {
passer: Object
},
mounted() {
// eslint-disable-next-line
console.log(this.renderObject);
},
data() {
return {
}
},
methods: {
},
computed: {
}
}
</script>
<style scoped>
</style>
Это своего рода статическая структура страницы.
Все карты, которые обрабатываются, должны отображаться в соответствии с переданным JSON, а все данные хранятся в самом JSON.
Как динамически отображать карты в сетке?