Please forgive my poor question description. I'm using svelte/sapper component. In that component I'm using preload function to access an api and retrieve list of posts. I display that list in the component. I would like to split the list in chunks (whatever number, 5, 10 etc) and display that chunk in my
Проблема в том, что я не имею ни малейшего понятия, с чего начать и как это сделать в Svelte. В этом api я знаю, сколько сообщений находится в массиве, но в реальной ситуации с базами данных предположим, что я не знаю, насколько велик массив или сколько записей у меня есть. Мне просто нужно разделить список и отобразить его, не зная, сколько записей я имею дело в компоненте.
Вот мой изящный компонент (это один из многих компонентов приложения sapper, но я не буду публиковать nav.svelte или остальную часть приложения, поскольку считаю, что это не имеет отношения к делу)
Мой компонент / страница:
<script context="module">
export async function preload() {
const res = await this.fetch("https://jsonplaceholder.typicode.com/posts");
const data = await res.json();
return { posts: data };
}
</script>
<script>
/*
export let posts;
function ArrayChunking(arr, size) {
var chunks = [];
for(var i = 0; i < arr.length; i += size) {
chunks.push(arr.slice(i, i+size));
}
return chunks;
}
console.log(ArrayChunking(posts, 5));
*/
export let posts;
</script>
<style>
ol {
background: #ff9999;
padding: 20px;
}
ol li {
background: #ffe5e5;
padding: 5px;
margin-left: 35px;
}
</style>
<div> <!--Test API https://jsonplaceholder.typicode.com/ -->
<p>++++ Posts from <a href="https://jsonplaceholder.typicode.com/posts" target="_blank">https://jsonplaceholder.typicode.com/posts</a> ++++</p>
<ol>
{#each posts as {title, body}, i}
<li>
{i * 2} -- {title} : {body}
</li>
{/each}
</ol>
</div>
Итак, я пытаюсь добиться отображения этого списка в меньших группах, поэтому в каждой группе будет 5 элементов в списке, а затем разделитель и еще 5 элементов, примерно так:
1-item one
2-item two
3-item three
4-item four
5-item five
========================
6-item 6
7-item 7
8-item 8
9-item 9
10-item 10
I don't know how to do that. I don't even have an idea to start with or where should it be entered, is it js in the script tag as I tried the ArrayChunking function but when I put chunks in the
Я запишу это под sapper и svelte, но также под html, css и js.
Любая идея?