Wenn Sie Erfahrung in der Vue2-Projektentwicklung haben, sind Sie mit $refs vertraut. Wie verwende ich $refs in vue3, weil vue3 ein steiles Upgrade durchlaufen hat? Ich nehme an, Sie sind schon einmal auf ähnliche Probleme gestoßen. Ich habe die gleichen Zweifel. Über Suchmaschinen und GitHub können Sie die Verwendung von $refs grundsätzlich erlernen. Verwenden Sie in vue3 die Funktion „ref“ der kombinierten API, um die Anwendung statischer oder dynamischer HTML-Elemente zu ersetzen. Vor kurzem habe ich in meiner Freizeit die Entwicklung des Vue3-Projekts „Crayon Management Template: Vue3 + Vuex4 + Ant Design2“ gelernt. Die Iteration wurde in den letzten zwei Tagen etwas vorangetrieben und die Diagrammkomponente wurde implementiert. Als ich den Artikel schrieb, stellte ich fest, dass im Commit des übermittelten Codes ein Tippfehler vorlag. Bei Verwendung der setup()-Methode der kombinierten API in vue3 kann this.$refs nicht normal verwendet werden, aber die neue Funktion ref() kann verwendet werden. Der folgende Code stammt von: https://github.com/QuintionTang/crayon/blob/feat-dashboard/src/qtui/components/Chart.vue <Vorlage> <canvas ref="refChart" :height="setHeight"></canvas> </Vorlage> <Skript> importiere { defineComponent, onMounted, ref, inject, watch } von "vue"; Diagramm aus „chart.js“ importieren; importiere { deepCopy } von "@/helper/index"; exportiere StandarddefiniereKomponente({ Name: "QtChart", Requisiten: { Typ: { Typ: Zeichenfolge, erforderlich: wahr, Standard: "Zeile", }, Daten: { Typ: Objekt, erforderlich: wahr, Standard: () => ({}), }, Optionen: Typ: Objekt, Standard: () => ({}), }, Höhe: Typ: Nummer, Standard: 0, }, Referenzschlüssel: { Typ: Zeichenfolge, Standard: null, }, }, setup(Requisiten) { const refChart = ref(); // Initialisierungsmethode const init = () => { const canvasChart = refChart.value?.getContext("2d"); const chartHelper = neues Diagramm(canvasChart, { Typ: Requisitentyp, Daten: deepCopy(props.data), Optionen: Requisiten.Optionen, }); Uhr(Requisiten, () => { chartHelper.data = deepCopy(props.data); chartHelper.options = Eigenschaften.options; chartHelper.update(); }); // Eine Instanz an refChart anhängen refChart.value.instance = chartHelper; }; // Höhe festlegen const setHeight = () => { zurückkehren { Höhe: Requisitenhöhe, }; }; // Binden Sie eine Instanz und verwenden Sie Inject const bindInstance = () => { wenn (Eigenschaften.RefKey) { const bind = inject(`bind[${props.refKey}]`); if (binden) { binden(refChart.value); } } }; beimMounted(() => { bindInstance(); init(); }); zurückkehren { Referenzdiagramm, Höhe festlegen, }; }, }); </Skript> Dieser Code implementiert vollständig eine Diagrammkomponente „Chart“, in der die Eigenschaft „props“ angepasst wird und ihr Eigenschaftswert durch Übergeben von Parametern an die Setup-Methode verwendet wird. Definieren Sie ein ref="refChart" in HTML als Dom-Objekt des Diagramms. Verwenden Sie in der Setup-Methode die Ref-Methode, um ein responsives Variablenobjekt zu definieren und es als Rückgabewert am Ende der Setup-Funktion zu verwenden. const refChart = ref(); Dabei ist zu beachten, dass der Attributname des Rückgabewertes mit dem Ref-Wert im HTML übereinstimmen muss. Der folgende Code kann normal ausgeführt werden. <Vorlage> <canvas ref="refChart" :height="setHeight"></canvas> </Vorlage> <Skript> importiere { defineComponent, onMounted, ref, inject, watch } von "vue"; Diagramm aus „chart.js“ importieren; importiere { deepCopy } von "@/helper/index"; exportiere StandarddefiniereKomponente({ Name: "QtChart", Requisiten: { // ... }, setup(Requisiten) { const refChartBox = ref(); // ... zurückkehren { refChart:refChartBox, }; }, }); </Skript> In den folgenden Situationen treten Programmfehler auf und die erwarteten Ergebnisse können nicht erzielt werden. Dies liegt daran, dass das im HTML definierte ref="refChart" nicht mit der vom Setup zurückgegebenen refChartBox übereinstimmt. <Vorlage> <canvas ref="refChart" :height="setHeight"></canvas> </Vorlage> <Skript> importiere { defineComponent, onMounted, ref, inject, watch } von "vue"; Diagramm aus „chart.js“ importieren; importiere { deepCopy } von "@/helper/index"; exportiere StandarddefiniereKomponente({ Name: "QtChart", Requisiten: { // ... }, setup(Requisiten) { const refChartBox = ref(); // ... zurückkehren { refChartBox, }; }, }); </Skript> abschließendDieser Artikel stellt nur kurz die Verwendung der Ref-Methode vor, die zufällig im Projekt verwendet wird. In Zukunft werde ich weiter lernen, während ich das Projekt vorantreibe und mir Notizen mache. Dies ist das Ende dieses Artikels über die alternative Methode von $refs in vue2 in der kombinatorischen API von vue3. Weitere relevante Inhalte zur kombinatorischen API von vue3 finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: So blockieren und verbieten Sie Webcrawler im Nginx-Server
>>: So verschieben Sie den Datenspeicherort von mysql5.7.19 in Centos7
In diesem Artikel erfahren Sie mehr über die Inst...
In diesem Artikel werden die einzelnen Schritte z...
Inhaltsverzeichnis Ziel Gedankenanalyse Code-Land...
Inhaltsverzeichnis 1. Was ist virtueller Dom? 2. ...
Angenommen, es gibt zwei Linux-Server A und B, un...
Was ist HTML? HTML ist eine Sprache zur Beschreib...
Wenn wir uns in vielen Apps und Websites anmelden...
Problembeschreibung Vor kurzem gab es einen MySQL...
Uniapp-Code <Vorlage> <Ansicht> <i...
Inhaltsverzeichnis 1. Installation 2.API 3. reagi...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ...
CocosCreator-Version: 2.3.4 Cocos hat keine Liste...
Detaillierte Erklärung der MySQL-Replikationstabe...
Um Nginx unter Windows zu verwenden, müssen wir e...
Dieser Artikel veranschaulicht anhand von Beispie...