首頁 >web前端 >js教程 >為什麼我導入的 ES6 模組函數在 onclick 事件中未定義?

為什麼我導入的 ES6 模組函數在 onclick 事件中未定義?

DDD
DDD原創
2024-12-28 21:42:11590瀏覽

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

這允許您在全域範圍內存取該函數申請。

以上是為什麼我導入的 ES6 模組函數在 onclick 事件中未定義?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn