Определить v-слот шаблона в компоненте без рендера - PullRequest
0 голосов
/ 28 апреля 2020

Я сделал компонент без рендеринга в 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>

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

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