Página de componentes:
... <Child> <template #form="{ init }"> <PageForm :init="init"/> ...Componente PageForm:
... methods: { getData() { // i need to call in component-grandchild of Page-component } } ...Componente secundario (función de renderizado):
... h('GrandChild', {scopedSlots: {form = props => h('div', this.$scopedSlots.form(props)}} ...Componente Nieto:
modelo:
... <div> <slot name="form" :init="init"> <div> ...guion:
... mounted: { // how here get method getData from Page->PageForm without Vuex? } ...Entiendo que si la estructura de los componentes es constante, entonces puedes probar esto.$parent.$parent. Pero de esta manera puede llegar a la página, pero dentro del PageForm es problemático, porque esta es el área de la ranura.
En teoría, puedo colgar una referencia en un componente y obtener un método a través de él, pero el comportamiento allí es impredecible...
Es más correcto intercambiar datos a través de props/emit si los componentes son adyacentes.