получить список элементов с атрибутом slot vue

#vuejs2 #slot

#vuejs2 #слот

Вопрос:

у меня есть в моем родительском файле пользовательский тег <datatable> со ссылками на слоты в нем:

  <datatable> 
        <div slot="week"> 5</div>
        <div slot="day"> monday</div>
    </datatable>
 

Можно ли получить массив названий слотов?

пытался: document.querySelectorAll('[slot]');

Но все, что я получаю, — это пустой список узлов.

Ответ №1:

Вы можете получить массив следующим образом (https://v2.vuejs.org/v2/api/#vm-slots ):

  <datatable ref="comp"> 
        <div slot="week"> 5</div>
        <div slot="day"> monday</div>
    </datatable>
 
 console.log(Object.keys(this.$refs.comp.$slots));