【问题标题】:Load more button in Svelte在 Svelte 中加载更多按钮
【发布时间】:2021-01-18 19:00:51
【问题描述】:

我正在探索 Svelte,它很棒。但是我有一个问题,更多的是一个问题。我正在尝试实现一个简单的加载更多按钮,这是我的代码:

<script>
  import { onMount } from "svelte";

  let data = [];

  onMount(async () => {
    const res = await fetch(`./past-reza.json`);
    data = await res.json();
  });

      let currentItems = 2;
    loadmore.addEventListener('click', (e) => {
        const elementList = [...document.querySelectorAll('.list-element')];
        for (let i = currentItems; i < currentItems + 2; i++) {
            if (elementList[i]) {
                elementList[i].style.display = 'block';
            }
        }
        currentItems += 2;

       
        if (currentItems >= elementList.length) {
            event.target.style.display = 'none';
        }
    })
</script>

我的 HTML 部分如下所示:

{#each data as item}
  <div class="list-element">
    <h2>{item.title}</h2>
  </div>
{/each}

并加载更多按钮

 <button
    id="loadmore"
    type="button"
    class="btn btn-secondary">
    Show more
  </button>

问题是我的内容没有显示在我为load more 添加的这部分 JS 代码中。

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: javascript svelte svelte-3


    【解决方案1】:

    你可以在这里使用更多svelte,比如:

    <script>
        import { onMount } from "svelte";
        let data = []
        
        onMount(async () => {
        const res = await Promise.resolve({ json: () => [1,2,3,4,5,6,7,8,9,10] });
        data = await res.json();
      });
        
         let currentItems = 2;
    </script>
    
    {#each data.slice(0, currentItems) as item}
      <div class="list-element">
        <h2>{item}</h2>
      </div>
    {/each}
    
    {#if currentItems < data.length}
     <button
        on:click={() => currentItems = currentItems + 2}
        id="loadmore"
        type="button"
        class="btn btn-secondary">
        Show more
      </button>
    {/if}
    

    https://svelte.dev/repl/5823b6e8a30447c59ce5b770f8a84593?version=3.31.2

    【讨论】:

      猜你喜欢
      • 2019-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多