Heim >Web-Frontend >js-Tutorial >Warum sind meine importierten ES6-Modulfunktionen in onclick-Ereignissen nicht definiert?

Warum sind meine importierten ES6-Modulfunktionen in onclick-Ereignissen nicht definiert?

DDD
DDDOriginal
2024-12-28 21:42:11590Durchsuche

Why Are My Imported ES6 Module Functions Undefined in onclick Events?

ES6-Module: Undefinierte Onclick-Funktionen nach dem Import

In ES6 etablieren Module einen eindeutigen Bereich, um Namespace-Konflikte zu verhindern. Wenn Sie versuchen, mit onclick aus einem Modul importierte Funktionen zu binden, kann es sein, dass der Fehler „ReferenceError: hello ist nicht definiert“ auftritt. Dieser Artikel bietet Lösungen für dieses Problem.

Lösung 1: Verwendung von addEventListener

Um Onclick-Ereignisse für in Module importierte Funktionen zu verarbeiten, verwenden Sie addEventListener. Betrachten Sie das folgende Beispiel:

<button type="button">

Lösung 2: Funktionen für das Fensterobjekt verfügbar machen (nicht empfohlen)

Obwohl dies aufgrund möglicher globaler Bereichskonflikte nicht empfohlen wird, können Sie Sie können die importierte Funktion auch dem Fensterobjekt zur Verfügung stellen:

import {hello} from './test.js'
  
window.hello = hello

Dies ermöglicht Ihnen den globalen Zugriff auf die Funktion in Ihrem Anwendung.

Das obige ist der detaillierte Inhalt vonWarum sind meine importierten ES6-Modulfunktionen in onclick-Ereignissen nicht definiert?. 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