Rumah >hujung hadapan web >tutorial js >Mengapa Fungsi Modul ES6 Saya yang Diimport Tidak Ditakrifkan dalam Peristiwa onclick?

Mengapa Fungsi Modul ES6 Saya yang Diimport Tidak Ditakrifkan dalam Peristiwa onclick?

DDD
DDDasal
2024-12-28 21:42:11580semak imbas

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

Modul ES6: Undefined Onclick Functions Post Importation

Dalam ES6, modul mewujudkan skop yang berbeza untuk mengelakkan konflik ruang nama. Apabila cuba untuk mengikat fungsi yang diimport daripada modul menggunakan onclick, anda mungkin menghadapi ralat "ReferenceError: hello is not definition". Artikel ini menyediakan penyelesaian kepada isu ini.

Penyelesaian 1: Menggunakan addEventListener

Untuk mengendalikan acara onclick bagi fungsi yang diimport dalam modul, gunakan addEventListener. Pertimbangkan contoh berikut:

<button type="button">

Penyelesaian 2: Mendedahkan Fungsi kepada Objek Tetingkap (Tidak Disyorkan)

Walaupun tidak disyorkan kerana potensi konflik skop global, anda juga boleh mendedahkan fungsi yang diimport kepada objek tetingkap:

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

Ini membolehkan anda untuk mengakses fungsi secara global dalam aplikasi anda.

Atas ialah kandungan terperinci Mengapa Fungsi Modul ES6 Saya yang Diimport Tidak Ditakrifkan dalam Peristiwa onclick?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn