ホームページ >ウェブフロントエンド >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 オブジェクトに関数を公開する (非推奨)

グローバル スコープの競合の可能性があるため推奨されませんが、インポートされた関数を window オブジェクトに公開することもできます:

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

これにより、関数内でグローバルに関数にアクセスできるようになります。アプリケーション。

以上がインポートした ES6 モジュールの関数が onclick イベントで定義されていないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。