En un nivel alto, digamos que tengo:
<parent> <template v-slot:content="{foo, bar}"> // foo/bar are just data from parent that contains "FOO" / "BAR" <child :v-text="foo" :someprop="bar === 'BAR'"> // foo and bar are accessible here <template v-slot:content> <grandchild :v-text="foo" :someprop="bar === 'BAR'"> // foo and bar are no longer accessible here </grandchild> </template> </child> </template> </parent>De esta manera, puedo pasar cualquier dato arbitrario del alcance de los padres y el hijo directo puede acceder a eso. Sin embargo, si el niño también tiene ranuras, los niños de ese niño perderán el contexto de la ranura del abuelo (a menos que exponga manualmente desde el niño los datos que vinieron del padre en su plantilla de ranura, supongo). Y estas tragamonedas anidadas pueden incluso ser más profundas para los bisnietos.
¿Existe una solución para hacer que los datos de los padres estén disponibles para los valores de utilería de los bisnietos?
Puede crear una ranura con nombre dentro de la plantilla de ranura del padre, dentro del componente intermedio.
Este ejemplo devuelve una propiedad de elemento al elemento secundario
Componente principal
<slot name='content' :item='item'> Replace Me </slot>Componente medio
<parent> <template #content='{item}'> <slot name='content' :item='item' /> </template> </parent>Componente hijo
<middle> <template #content='{item}'> the item is {{item}} </template> </middle>