ES6 模組和Onclick 函數可訪問性
從ES6 模組導入函數以在onclick 事件處理程序中使用時,考慮作用域性質非常重要模組數。預設情況下,模組會建立一個單獨的作用域以防止名稱衝突。
在提供的程式碼範例中,出現問題是因為導入的 hello 函數是在模組作用域內定義的,因此無法在 onclick處理程序中直接存取.
要解決此問題,有兩種建議方法:
使用事件偵聽器:
此方法涉及使用addEventListener 方法將匯入的函數綁定到onclick 事件。以下是程式碼的修改版本:
<button type="button">
向Window 物件公開函數(不建議):
另一種方法(儘管不建議)是明確將導入的函數公開給視窗物件。但是,這種做法可能會導致潛在的命名衝突。
import {hello} from './test.js' window.hello = hello
透過將函數公開給 window 對象,它可以作為 onclick 處理程序存取。但是,不建議使用此方法,因為它會污染全域命名空間並阻礙偵錯工作。
以上是如何在 onClick 事件處理程序中存取 ES6 模組函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!