Heim >Web-Frontend >View.js >Die Verwendung und Vorsichtsmaßnahmen von $refs in Vue

Die Verwendung und Vorsichtsmaßnahmen von $refs in Vue

王林
王林Original
2023-07-17 16:07:412315Durchsuche

Verwendung und Vorsichtsmaßnahmen von $refs in Vue

In Vue ist $refs ein spezielles Attribut, das für den Zugriff auf Referenzen auf Komponenten oder Elemente verwendet wird. Über $refs können wir problemlos Instanzen von DOM-Elementen oder Unterkomponenten abrufen und diese bedienen und mit ihnen interagieren. In diesem Artikel wird die Verwendung von $refs vorgestellt und einige Dinge aufgeführt, auf die Sie achten sollten.

1. Verwenden Sie $refs

  1. , um die Referenz des DOM-Elements abzurufen

Wenn Sie in der Vorlage das ref-Attribut zum DOM-Element hinzufügen, können Sie die Referenz des DOM-Elements über $refs abrufen. Zum Beispiel:

<template>
  <div>
    <input ref="inputElement" type="text" />
    <button @click="focusInput">获取焦点</button>
  </div>
</template>

<script>
export default {
  methods: {
    focusInput() {
      this.$refs.inputElement.focus();
    }
  }
};
</script>

Im obigen Beispiel wird das ref-Attribut zum Eingabeelement hinzugefügt und „inputElement“ genannt. Der Verweis auf das DOM-Element kann über this.$refs.inputElement abgerufen werden. Anschließend wird seine Fokusmethode aufgerufen, um den Fokus zu erhalten.

  1. Erhalten Sie die Referenz der Unterkomponente

Ähnlich können wir auch die Referenz der Unterkomponente über $refs abrufen und Methoden in der Unterkomponente aufrufen oder auf ihre Eigenschaften zugreifen. Zum Beispiel:

<template>
  <div>
    <child-component ref="childComponent"></child-component>
    <button @click="callChildMethod">调用子组件方法</button>
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: {
    ChildComponent
  },
  methods: {
    callChildMethod() {
      this.$refs.childComponent.childMethod();
    }
  }
};
</script>

Im obigen Beispiel haben wir eine untergeordnete Komponente namens ChildComponent eingeführt und in der Vorlage verwendet. Indem wir der untergeordneten Komponente ein ref-Attribut hinzufügen und es „childComponent“ nennen, können wir über this.$refs.childComponent den Verweis auf die untergeordnete Komponente abrufen und deren childMethod-Methode aufrufen.

2. Hinweise

  1. Aktualisierungszeitpunkt von $refs

Es ist zu beachten, dass $refs nach dem Rendern der Vue-Instanz abgerufen wird. Dies bedeutet, dass $refs in der von der Vue-Instanz erstellten Lebenszyklus-Hook-Funktion nicht korrekt abgerufen werden können. Wenn Sie $refs in erstellt verwenden müssen, können Sie die Ausführung über die nextTick-Funktion verzögern.

created() {
  this.$nextTick(() => {
    // 在这里可以正确获取到$refs
  });
}
  1. Dynamische Aktualisierung von $refs

$refs werden nur während des Rendervorgangs der Komponenteninstanz festgelegt und aktualisiert. Daher können DOM-Elemente, die dynamisch mit v-if oder v-for in der Vorlage generiert wurden, nicht weitergeleitet werden $ Erhalten von Refs. Wenn Sie $refs dynamisch aktualisieren müssen, können Sie das Schlüsselattribut verwenden.

<template>
  <div>
    <child-component v-if="showChild" :key="uniqueKey" ref="childComponent"></child-component>
    <button @click="toggleChild">切换子组件</button>
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: {
    ChildComponent
  },
  data() {
    return {
      showChild: true,
      uniqueKey: 0
    };
  },
  methods: {
    toggleChild() {
      this.showChild = !this.showChild;
      this.uniqueKey += 1;
    },
    callChildMethod() {
      this.$refs.childComponent.childMethod();
    }
  }
};
</script>

Im obigen Beispiel kann durch Hinzufügen des Schlüsselattributs zur Unterkomponente und Binden an die Variable uniqueKey die dynamische Aktualisierung von $refs beim Wechseln der Unterkomponenten ausgelöst werden.

3. Zusammenfassung

$refs ist eine sehr praktische Funktion in Vue, mit der problemlos Referenzen auf DOM-Elemente oder Unterkomponenten abgerufen und mit ihnen betrieben und interagiert werden können. Wenn Sie $refs verwenden, müssen Sie auf den Aktualisierungszeitpunkt und die dynamische Aktualisierungsmethode achten. Ich hoffe, dass die Einführung in diesem Artikel Ihnen dabei helfen kann, die $refs-Funktion in Vue besser zu nutzen und zu verstehen.

Das obige ist der detaillierte Inhalt vonDie Verwendung und Vorsichtsmaßnahmen von $refs in Vue. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn