Czy vue js ma skrót do document.getElementById('#id')
, podobnie jak JQuery's $('#id')
?vue js 'document.getElementById' stenografia
Jeśli tak, to gdzie jest to odniesienie w dokumentach, aby można było znaleźć inne informacje?
Czy vue js ma skrót do document.getElementById('#id')
, podobnie jak JQuery's $('#id')
?vue js 'document.getElementById' stenografia
Jeśli tak, to gdzie jest to odniesienie w dokumentach, aby można było znaleźć inne informacje?
Możesz użyć dyrektywy v-el
, aby zapisać element, a następnie użyć go później.
<div v-el:my-div></div>
<!-- this.$els.myDiv --->
Edit: To jest przestarzałe w Vue 2, zobacz 胡亚雄 odpowiedzieć
Jeśli próbujesz uzyskać element można użyć Vue.util.query
który jest naprawdę tylko otoki wokół document.querySelector
ale 14 znaków w porównaniu do 22 znaków (odpowiednio) jest technicznie krótszy. Obsługuje także błędy w przypadku, gdy szukany element nie istnieje.
Nie ma żadnej oficjalnej dokumentacji na Vue.util
, ale to cała źródłem funkcji: link
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;
}
Repo: Vue.util.query
Tam nie skrótowym sposobem w Vue 2.
Metoda Jeffa wydaje się już przestarzała w vue 2.
Jest inny sposób, w jaki możesz osiągnąć swój cel.
<div id="myDiv" ref="myDiv">
</div>
methods: {
showMyDiv() {
console.log(this.$refs.myDiv);
}
}
to jest idealne! Dziękuję Ci. – ITWitch
to powinna być zaakceptowana odpowiedź! –
można znaleźć odpowiedź w kombinacji tych dwóch stron w API:
ref jest używany do rejestracji w odniesieniu do elementu lub element potomny . Referencja zostanie zarejestrowana pod obiektem $ refs jednostki nadrzędnej . Jeśli używany na prostym elemencie DOM odniesienie będzie ten element
Obiekt, który posiada elementy potomne, które zostały zarejestrowane ref.
Staraj się nie robić manipulacji DOM odwołując DOM bezpośrednio, będzie miał wiele kwestii wydajności, również obsługa zdarzeń staje się bardziej skomplikowane, gdy staramy się uzyskać dostęp do DOM bezpośrednio, zamiast korzystać z danych i dyrektyw do manipulowania DOM.
Zapewni to większą kontrolę nad manipulacją, a także będzie w stanie zarządzać funkcjami w formacie modułowym.
To jest przestarzałe, nie używaj w vuejs 2 – David
Przeczytaj https://github.com/vuejs/vue/issues/2873, aby uzyskać szczegółowe informacje na temat tego, co jest przestarzałe, a co nie jest – ytbryan