Обнаружение v-слота шаблона в компоненте без рендеринга

Я сделал компонент без рендеринга в VueJS, и я пытаюсь определить, есть ли внутри компонента шаблон с v-слотом или нет. Цель состоит в том, чтобы условно отрисовать код внутри компонента без рендеринга "Читать" ниже. Например, мне нужно, что в первом случае btn отображается, потому что у него есть слот, а во втором btn не отображается, потому что нет шаблона с v-слотом.

Случай 1

<Read code="myCode">  
   <template v-slot="{can}">
      {{ can }} 
      <v-btn>
         Reading button
      </v-btn>
   </template> 
</Read>

Случай 2

<Read code="myCode">  
   <v-btn>
      Reading button
   </v-btn>
</Read>

Я попытался заглянуть в this.$ Attrs или this.$ Children внутри моего компонента без рендеринга, но не нашел, как этого добиться. Я знаю, что мне нужно добавить "если" в метод рендеринга моего компонента без рендеринга, например,

render () {
   return haveTemplate ? this.$scopedSlots.default({
      can: this.can,
      error: this.error
  }) : null
}

0 ответов

Другие вопросы по тегам