Mam komponent, jak mogę wybrać jeden z jego elementów?
Próbuję uzyskać dane wejściowe, które znajdują się w szablonie tego składnika.
Składników może być wiele, więc selektor zapytań musi przeanalizować tylko bieżące wystąpienie składnika.
Vue.component('somecomponent', {
template: '#somecomponent',
props: [...],
...
created: function() {
somevariablehere.querySelector('input').focus();
}
});
Z góry dziękuję
javascript
vue.js
Snewedon
źródło
źródło
this.$el
jest niezdefiniowana, dopóki nie zostanie zamontowana. Jeśli chcesz zainicjalizować zmienną, zrób to zamount()
vuejs 2
v-el:el:uniquename
został zastąpiony przezref="uniqueName"
. Następnie uzyskuje się dostęp do elementu przezthis.$refs.uniqueName
.źródło
ref
atrybut działa na dowolnym elemencie HTML lub komponencie Vue. Dobry towar.Odpowiedzi nie wyjaśniają tego jasno:
Użyj
this.$refs.someName
, ale aby z niego skorzystać, musisz dodaćref="someName"
rodzica .Zobacz demo poniżej.
$refs
iv-for
Zauważ, że użyte w połączeniu z
v-for
,this.$refs.someName
będzie tablicą:źródło
W Vue2 pamiętaj, że możesz uzyskać dostęp do tego. $ Refs.uniqueName dopiero po zamontowaniu komponentu.
źródło
Vue 2.x
W celu uzyskania oficjalnych informacji:
https://vuejs.org/v2/guide/migration.html#v-el-and-v-ref-replaced
Prosty przykład:
Do każdego elementu musisz dodać atrybut
ref
o unikalnej wartościAby kierować na użycie tego elementu
this.$refs.foo
źródło
Kompozycja API
Sekcja Odniesienia do szablonów mówi, jak to zostało ujednolicone:
ref="myEl"
;:ref=
zv-for
const myEl = ref(null)
i ujawnij go zsetup
Odniesienie przenosi element DOM od momentu montażu.
źródło