J'essaie d'obtenir un élément DOM par ID en utilisant Vuejs. Le problème est que je ne sais pas comment accéder à cet élément. J'utilise cela. $ REFS. Quand j'écris la console.log (ceci. $ REF) Je vois ce qui suit:
mais quand j'écris Console.log (ceci. $ Refs.gauge2) Je vois non défini. Est-ce que quelqu'un sait comment accéder à cet élément? Ceci est mon code: p>
p>
<template>
<div class="wrapper">
<div id="gauge2" ref="gauge2" class="gauge-container two">
<span class="label">.two</span>
</div>
</div>
</template>4 Réponses :
Vous pouvez le faire avec: et en modifiant la gâchette sur le crochet monté (): p> p>
Si j'écris ceci, j'obtiens l'erreur Typecript suivante: TS2339: Propriété 'ID' n'existe pas sur le type 'Vue | Élément | Vue [] | Élément[]'. Propriété 'ID' n'existe pas sur le type 'VUE'.
Je reçois la même erreur: TS2339: Propriété '$ el' n'existe pas sur type 'Vue | Élément | Vue [] | Élément[]'. Propriété '$ el' n'existe pas sur le type 'élément'.
Peut-être est un problème avec le chargeur?
Essayez de changer en monté () au lieu de créer () et s'il vous plaît coller ici le résultat de console.log (ceci. $ Refs.gauge2). Ensuite, si vous me le permettez, pourquoi vous avez besoin de l'ID?
J'ai corrigé la modification de la méthode créée par montée. Maintenant, ça marche merci! P>
Je vous suggère de lire la page de cycle de vie de Vue dans la documentation pour éviter d'autres erreurs comme celle-là: Vuejs.org/v2/guide/instance.html#instance-lifecycle-hooks
Votre problème est que vous essayez d'accéder à une référence à partir de la méthode créée qui est appelée avant que le modèle ait rendu. Vous pouvez accéder aux réfs uniquement après que le modèle a été rendu, je suggérerais d'utiliser la fonction montée. P>
Pour plus d'informations: P>
source p>
Pouvez-vous inclure le code où vous appelez
console.log (this. $ refs.gauge2) code>?