>웹 프론트엔드 >JS 튜토리얼 >onclick 이벤트에서 가져온 ES6 모듈 기능이 정의되지 않은 이유는 무엇입니까?

onclick 이벤트에서 가져온 ES6 모듈 기능이 정의되지 않은 이유는 무엇입니까?

DDD
DDD원래의
2024-12-28 21:42:11582검색

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

ES6 모듈: 가져오기 후 정의되지 않은 Onclick 함수

ES6에서 모듈은 네임스페이스 충돌을 방지하기 위해 고유한 범위를 설정합니다. onclick을 사용하여 모듈에서 가져온 함수를 바인딩하려고 하면 "ReferenceError: hello가 정의되지 않았습니다" 오류가 발생할 수 있습니다. 이 문서에서는 이 문제에 대한 솔루션을 제공합니다.

해결책 1: addEventListener 사용

모듈에서 가져온 함수에 대한 onclick 이벤트를 처리하려면 addEventListener를 활용하세요. 다음 예를 고려하십시오.

<button type="button">

해결책 2: Window 객체에 함수 노출(권장하지 않음)

전역 범위 충돌 가능성으로 인해 권장되지 않지만, 가져온 함수를 창 개체에 노출할 수도 있습니다.

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

이렇게 하면 전역적으로 함수에 액세스할 수 있습니다. 신청하세요.

위 내용은 onclick 이벤트에서 가져온 ES6 모듈 기능이 정의되지 않은 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.