Est-ce que vue.js a un raccourci pour document.getElementById('#id')
comme le $('#id')
de JQuery?
Si tel est le cas, où se trouve la référence à cela dans la documentation afin que je puisse localiser d'autres informations?
Il n'y a pas de raccourci dans vue 2.
La méthode de Jeff semble déjà obsolète dans vue 2.
Voici une autre façon de réaliser votre objectif.
var app = new Vue({
el:'#app',
methods: {
showMyDiv() {
console.log(this.$refs.myDiv);
}
}
});
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script>
<div id='app'>
<div id="myDiv" ref="myDiv"></div>
<button v-on:click="showMyDiv" >Show My Div</button>
</div>
Vous pouvez utiliser la directive v-el
pour enregistrer un élément, puis l’utiliser plus tard.
<div v-el:my-div></div>
<!-- this.$els.myDiv --->
Edit : C'est obsolète dans Vue 2 , voir 胡亚雄 answer
Essayez de ne pas manipuler le DOM en référant directement le DOM, cela posera de nombreux problèmes de performances. La gestion des événements devient plus délicate lorsque nous essayons d’accéder directement au DOM. Nous utilisons plutôt des données et des directives pour manipuler le DOM.
Cela vous donnera plus de contrôle sur la manipulation, vous pourrez également gérer les fonctionnalités au format modulaire.
vous pouvez trouver votre réponse dans la combinaison de ces deux pages dans le [~ # ~] api [~ # ~] :
ref est utilisé pour enregistrer une référence à un élément ou à un composant enfant. La référence sera enregistrée dans l’objet $ refs du composant parent. Si utilisé sur un élément DOM simple, la référence sera cet élément
Un objet qui contient les composants enfants qui ont été référencés.
Si vous essayez d’obtenir un élément, vous pouvez utiliser Vue.util.query
qui n’est en réalité qu’un simple wrapper autour de document.querySelector
mais à 14 caractères contre 22 caractères (respectivement), il est techniquement plus court. Il y a aussi un traitement d'erreur au cas où l'élément que vous recherchez n'existe pas.
Il n'y a pas de documentation officielle sur Vue.util
, mais c'est la source entière de la fonction:
function query(el) {
if (typeof el === 'string') {
var selector = el;
el = document.querySelector(el);
if (!el) {
({}).NODE_ENV !== 'production' && warn('Cannot find element: ' + selector);
}
}
return el;
}
Lien Repo: Vue.util.query