Maison >interface Web >js tutoriel >Pourquoi mes fonctions de module ES6 importées ne sont-elles pas définies dans les événements onclick ?

Pourquoi mes fonctions de module ES6 importées ne sont-elles pas définies dans les événements onclick ?

DDD
DDDoriginal
2024-12-28 21:42:11580parcourir

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

Modules ES6 : fonctions Onclick non définies après l'importation

Dans ES6, les modules établissent une portée distincte pour éviter les conflits d'espace de noms. Lorsque vous tentez de lier des fonctions importées d'un module à l'aide de onclick, vous pouvez rencontrer une erreur « ReferenceError : hello n'est pas défini ». Cet article fournit des solutions à ce problème.

Solution 1 : Utilisation de addEventListener

Pour gérer les événements onclick pour les fonctions importées dans les modules, utilisez addEventListener. Prenons l'exemple suivant :

<button type="button">

Solution 2 : exposition des fonctions à l'objet Window (non recommandé)

Bien que cela ne soit pas recommandé en raison de conflits de portée globale potentiels, vous peut également exposer la fonction importée à l'objet window :

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

Cela vous permet d'accéder à la fonction globalement au sein de votre candidature.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn