Вставьте пользовательский компонент в именованный слот в дочернем

#javascript #vue.js

Вопрос:

[Lang.vue]

 <Core ref="core">
    <template v-slot:passageOne>
        <p>This is passage One Content!</p>
    </template>
    <template v-slot:video>
        <myVideo ref="video"></myVideo>   <!--For Q2-->
    </template>
</Core>
 

[Core.vue]

 <div>
    <slot name="passageOne"></slot>
    <slot name="video">GG</slot>  <!--The fallback text is GG-->
</div>
 

*MyVideo-это самостоятельно разработанный компонент

Вопрос 1: Можно ли вставить пользовательский компонент (в данном случае MyVideo) во второй слот основного компонента? В моем случае показан запасной текст «GG», который означает, что инъекция была неудачной, но почему?

Q2: Если это возможно для Q1, возможно ли получить ссылочный объект для компонента MyVideo (строка, закомментированная «Для Q2») в области Lang.vue(Родительская)?

Пожалуйста, предоставьте пример использования, если это возможно. Спасибо!

Комментарии:

1. Да, это возможно, но вы не должны использовать html-теги в качестве имен компонентов vue, попробуйте назвать это так MyVideo

2. @Буссаджра Брахим Хорошо, позвольте мне изменить свой вопрос. У вас есть пример использования, показывающий, что это может сработать, пожалуйста?

3. А также, что бы вы предложили для Q2?