0

コンポーネントをループしようとしています。スロットにデータを入力しましたが、うまくレンダリングされません。

奇妙な振る舞い :

  • データは表示されますが、表示されません。
  • device toolbarChromeでデバッグ パネルを切り替えると、データが表示されるようになりました。
  • デバッグ パネルでフォント サイズを変更すると、データが表示されます
  • Child コンポーネントをループの外側に配置すると、ループされたコンポーネントが適切にレンダリングされます。

私の親コンポーネントからのスニペット:

<li class="cards__item" v-for="(staffMember, index) in staff">
   <card-profil>
       <h3 slot="title">{{staffMember.name}}</h3>
   </card-profil>
</li>

私の子コンポーネントからのスニペット:

<template>
    <section class="card-profil">
        <figure class="fig-card-profil">
            <figcaption class="figcaption-card-profil">
                <slot name="title"></slot>
            </figcaption>
        </figure>
    </section>
</template>

親コンポーネントでこの方法でデータを取得します。

export default {
    data: function () {
        return {
            staff: []
        }
    },
    mounted () {
        this.getStaff()
    },
    methods: {
        getStaff: async function () {
            const staff = await axios({ url: 'https://randomuser.me/api/?results=8' })
            this.staff = staff.data.results
        }
      }
    }

これはライフフックの問題ですか?代わりに Scoped スロットを使用する必要がありますか? V-for issue ? あなたの考えを共有してくれてありがとう。

4

0 に答える 0