Je veux savoir s'il est acceptable d'accéder au DOM dans une application Vue js ? Par exemple, si je souhaite ajouter un élément (div) à la balise body, est-il recommandé d'utiliser document.getElementById dans une méthode Vue js ?

Je n'ai aucune donnée pouvant être utilisée pour créer ou supprimer des éléments basés sur des données. Je veux vraiment savoir s'il est courant d'utiliser document pour accéder au DOM dans Vue js?

Quelque chose comme ça :

methods:{
 appendToBody(){
   let node = document.createElement("div");
   document.getElementById("#body").appendChild(node);
 }
}
2
Aref Hoseinikia 18 mars 2019 à 12:51

2 réponses

Meilleure réponse

Cela dépend également de la partie du DOM à laquelle vous faites référence.

Si vous souhaitez modifier le sous-arbre géré par Vue, vous ne devriez pas le faire. Vous devez vous fier aux propriétés réactives, au rendu conditionnel, aux composants. Si vous devez accéder à un élément DOM qui est un enfant du composant actuel, vous pouvez utiliser refs.

Si vous devez modifier une partie du DOM qui est en dehors du domaine de Vue, faites-le par tous les moyens.

Dans votre cas, ce que vous voulez atteindre n'est pas clair et il est difficile de donner une réponse claire.

4
Radu Diță 18 mars 2019 à 10:26

Vous pouvez utiliser des fonctions DOM telles que document.getElementById dans Vue pour rechercher des éléments, mais n'utilisez jamais de fonctions DOM pour modifier le DOM. Faites toujours des modifications dans Vue en changeant les variables et réagissez-y dans le modèle.

1
edwin 18 mars 2019 à 10:16