Cuando accedo a la instancia de $slots de Vuejs obtengo el = null pero type = "div"
modelo:
<slot name="head"> <h1> {{ text }} </h1> </slot>guion
... const slotCont = this.$slots.head(); console.log(slotCont[0]);el .el es un evento nulo aunque hemos agregado sd
padre
<custom-component :key="human.id"> <template #head> <div style="display: flex;"> this is Head </div> </template> <template #default> <h1>Head</h1> </template> </custom-tooltip>consola.log
anchor: null appContext: null children: (2) [{…}, {…}] component: null dirs: null dynamicChildren: null dynamicProps: null el: null <-- element is null ... type: "div" <-- div is passedError: no se pueden leer las propiedades de undefined (leyendo 'el')
vm.$slots y vm.$scopedSlots se refieren a entradas de ranura pasadas al componente.
Entonces , si no proporcionó ningún <template #head> en su componente, no aparecerá dentro de estas propiedades .
AFAIK, no puede acceder a la ranura predeterminada desde el objeto vm , Vue lo representa como si ni siquiera estuviera en una ranura en primer lugar. Deberá consultar ese elemento de una manera diferente.