Ich habe eine Komponente. Wie kann ich eines ihrer Elemente auswählen?
Ich versuche, eine Eingabe zu erhalten, die in der Vorlage dieser Komponente enthalten ist.
Es können mehrere Komponenten vorhanden sein, sodass der Abfrageselektor nur die aktuelle Instanz der Komponente analysieren muss.
Vue.component('somecomponent', {
template: '#somecomponent',
props: [...],
...
created: function() {
somevariablehere.querySelector('input').focus();
}
});
Danke im Voraus
quelle
this.$el
ist bis zur Montage undefiniert. Wenn Sie eine Variable initialisiert werden soll tun es inmount()
vuejs 2
v-el:el:uniquename
wurde ersetzt durchref="uniqueName"
. Auf das Element wird dann über zugegriffenthis.$refs.uniqueName
.quelle
ref
Attribut auf jedem HTML-Element oder jeder Vue-Komponente funktioniert. Gutes Zeug.Die Antworten machen es nicht klar:
Verwenden Sie
this.$refs.someName
, aber um es zu verwenden, müssen Sieref="someName"
im übergeordneten Element hinzufügen .Siehe Demo unten.
$refs
undv-for
Beachten Sie, dass , wenn in Verbindung mit
v-for
, derthis.$refs.someName
wird ein Array sein:quelle
Beachten Sie in Vue2 , dass Sie erst nach dem Mounten der Komponente darauf zugreifen können. $ Refs.uniqueName .
quelle
Vue 2.x.
Für offizielle Informationen:
https://vuejs.org/v2/guide/migration.html#v-el-and-v-ref-replaced
Ein einfaches Beispiel:
Zu jedem Element müssen Sie ein Attribut
ref
mit einem eindeutigen Wert hinzufügenUm dieses Element zu erreichen, verwenden Sie
this.$refs.foo
quelle
Kompositions-API
Der Abschnitt " Vorlagenreferenzen " zeigt, wie dies vereinheitlicht wurde:
ref="myEl"
;:ref=
mit einerv-for
const myEl = ref(null)
und legen Sie es aussetup
Die Referenz trägt das DOM-Element ab der Montage.
quelle