1

レビューを表示するカルーセルがあります。ボタンをクリックすると、次のエラーが発生します。

TypeError: $$invalidate(...) is not a function

奇妙なことに、すべてが機能するため、何も壊れていません。しかし、このエラーがどこから来ているのか、何が原因なのかを理解することはできません。コードは次のとおりです。

<script>
    let showntestimonial = 1;
    const testimonials = [ { // array of objects } ];
</script>

<section class="customer-testimonial">
  <button
    class="arrowbox"
    on:click={() => (showntestimonial += 2)((showntestimonial = showntestimonial % 3))}>
    <i class="far fa-chevron-left" />
  </button>
  <div class="textbox">
    <p>
      {@html testimonials[showntestimonial].text[$language]}
    </p>
    <h2>
      {@html testimonials[showntestimonial].name}
    </h2>
  </div>
  <button
    class="arrowbox"
    on:click={() => (showntestimonial++)((showntestimonial = showntestimonial % 3))}>
    <i class="far fa-chevron-right" />
  </button>
</section>
4

2 に答える 2

1

これは Svelte エラーではなく、コードのエラーです。これを書くと…

(showntestimonial++)((showntestimonial = showntestimonial % 3))

...あなたは「showntestimonial++引数を指定して呼び出す」と言っています(showntestimonial % 3)。しかしshowntestimonial++、これは関数ではなく、数値です — 呼び出すことはできません。

于 2020-01-30T14:38:58.783 に答える