[英]Can't call a function from js file imported as type module
我正在使用模塊導入在 ES6 中編寫我的 Javascript 文件。 現在大多數現代瀏覽器都支持使用 type='module' 以允許正確解析導入語句。 腳本類型="模塊https://caniuse.com/#feat=es6-module
我構建了一個 HTML 選擇元素,onchange() 使用 select onchange="someFunction()" 從我的一個模塊文件調用一個函數,但總是拋出一個錯誤,說當 on change 事件發生時該函數未定義。 我內聯測試了相同的函數,並且沒有使用 type="module" 沒有預期的問題。
這是一個錯誤嗎? 它是否與默認情況下延遲的模塊腳本有關? 我錯過了一些簡單的東西嗎?
我知道我可以通過使用 Webpack 或框架來避免這個問題,但我真的想嘗試只使用 vanilla javascript 而沒有任何額外的東西。 我相信在 js 中創建這個 select 元素然后附加到 dom 也可以解決這個問題。
模塊不會創建全局變量。 一切都在模塊內。
如果要綁定事件處理程序,請使用addEventListener
從模塊內部執行此操作,而不使用onXxxxx
屬性。
當使用帶有類型模塊的腳本時,您可以使用它來使用函數
<button onclick="import('/modules/script.js').then(o=> o.showdialog())">
並在 script.js 中使用導出
export function showdialog() {}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.