Vue.js $enfants de par le nom du composant
j'essaye d'accéder à un enfant par son nom. Pour l'instant à cause de l'endroit où l'enfant est, je vais appeler l'enfant par la présente:
this.$root.$children[0]
qui est ok aussi longtemps que l'enfant est toujours [0] par l'idéal serait génial si il y a un moyen de faire quelque chose comme:
this.$root.$children['detail']
je continue à penser que $refs pourrait être la réponse à mon problème, mais ne peut jamais trouver un moyen pour qu'il m'aide.
des idées?
OriginalL'auteur Flakx | 2016-03-03
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser cette propriété:
Par exemple:
$children
tableau, ce qui n'est pas ce que l'OP est de demander.Vous pouvez utiliser ce code pour filtrer les enfants par leur nom.
Comment alors? Votre ligne de code est l'accès le nom du premier élément dans le tableau. Vous n'avez pas la moindre explication pour savoir comment cette ligne de code peut être utilisé pour résoudre des OP problème.
Vous pouvez utiliser la commande rechercher:
this.$root.$children.find(child => { return child.$options.name === "name"; });
. Je vais mettre à jour la réponse.Pour sélectionner enfant par le nom de la composante:
this.$root.$children.find(child => { return child.$options._componentTag === "tabs-component"; });
OriginalL'auteur drinor
OriginalL'auteur user4229130
Vous n'avez pas nécessairement besoin d'
$refs
, en fait, parfois, ils ne sont pas réalisables si vous avez profondément composants imbriqués. J'ai trouvé ce Q&A plusieurs reprises lors de la recherche, mais enfin résolument à mettre en œuvre ma propre solution, car j'ai couru dans cette situation assez fréquemment. Ne pas rechigner à la vieille école pour les boucles, elles sont nécessaires pour un couple de raisons, d'une part, je test pourx<descendants.length
(plutôt que de mettre quelque chose commelen=descendants.length
à l'avant, et l'essai contre) à chaque itération que je pousse sur la pile dans la deuxième boucle for.Première, utilisation:
Mise en œuvre:
OriginalL'auteur George Jempty