1. 基本的なイベント処理
// v-on ディレクティブ <div v-on:click='handleClick' /> //または <div @click='handleClick' /> 2. 親コンポーネントにカスタムイベントを送信するどの Web フレームワークでも、子コンポーネントが親コンポーネントにイベントを発行できるようにするのが一般的な使用例です。これは双方向データ バインディングの原則でもあります。 一般的な例としては エクスポートデフォルト{ メソッド: { ハンドルアップデート: () => { this.$emit('update', 'Hello World') } } } ただし、 エクスポートデフォルト{ セットアップ(プロパティ、コンテキスト){ 定数handleUpdate = () => { context.emit('更新', 'Hello World') } 戻り値: {handleUpdate} } } もちろん、私は自分のプロジェクトでデコンストラクションを頻繁に使用します。 エクスポートデフォルト{ セットアップ(props、{emit}){ 定数handleUpdate = () => { 出力('更新', 'Hello World') } 戻り値: {handleUpdate} } } 完璧! <HelloWorld @update='入力更新されました'/> まず、テンプレート内の コンポーネントの 1 つ目は、テンプレートで <HelloWorld @update='inputUpdated($event)'/> 2 番目の方法は、イベントを処理するメソッドを使用することです。渡された値は、最初のパラメーターとして自動的にメソッドに渡されます。 <HelloWorld @update='入力更新されました'/> // ... メソッド: { 入力更新: (値) => { console.log(value) // これも動作します } } マウス修飾子以下は、v-on ディレクティブでキャプチャできる主な DOM マウス イベントのリストです。 <div @mousedown='handleEvent' @mouseup='handleEvent' @click='handleEvent' @dblclick='イベント処理' @mousemove='handleEvent' @mouseover='handleEvent' @mousewheel='handleEvent' @mouseout='handleEvent' > 私と交流しましょう! </div> クリック イベントの場合、マウス イベント修飾子を追加して、どのマウス ボタンがイベントをトリガーするかを制限することもできます。 <!-- これはマウスの左ボタンのみをトリガーします--> <div @mousedown.left='handleLeftClick'> 左 </div> 4. キーボード修飾子リッスンできる DOM キーボード イベントは 3 つあります。 <入力 タイプ='テキスト' placeholder='何か入力してください' @keypress='ハンドルキーが押された' @keydown='handleKeyDown' @keyup='handleKeyUp' /> 通常、特定のキーでこれらのイベントを検出する必要があり、これを行うには 2 つの方法があります。
<!-- Enter キーが離されたときもトリガーします --> <入力 タイプ='テキスト' placeholder='何か入力してください' @keyup.enter='ハンドルEnter' /> <!-- または --> <入力 タイプ='テキスト' placeholder='何か入力してください' @keyup.13='ハンドルEnter' /> 5. システム修飾子プロジェクトによっては、ユーザーが修飾キーを押した場合にのみイベントをトリガーしたい場合があります。 修飾キーは Command キーや Shift キーのようなものです。 Vue には4 つのシステム修飾子があります。
これは、 <!-- カスタム ショートカット、Yang は Shift + 8 を使用してリストを作成します --> <入力 タイプ='テキスト' placeholder='何か入力してください' @keyup.shift.56='リストを作成' />
<!-- カスタム ショートカット。Shift + 8 を押すとリストが作成されます --> <入力 タイプ='テキスト' placeholder='何か入力してください' @keyup.shift.56.exact='createList' /> 6. イベント修飾子すべての <!-- デフォルトの動作を防止する --> <フォーム@submit.prevent> <!-- バブルを停止 --> <フォーム @submit.stop='submitForm'> <!-- デフォルトの動作とバブリングを防ぐ --> <フォーム @submit.stop.prevent='送信フォーム'> <!-- イベントが複数回トリガーされるのを防ぐ --> <div @close.once='handleClose'> コードをデプロイした後で、どのようなバグが存在するかをリアルタイムで知る方法はありません。後からこれらのバグを解決するために、ログのデバッグに多くの時間を費やしていました。ここで、便利なバグ監視ツールである Fundebug をお勧めしたいと思います。 これで、Vue3 の Vue イベント処理ガイドに関するこの記事は終了です。Vue イベント処理ガイドの関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Win10+Ubuntu 20.04 LTS デュアル システム インストール (UEFI + GPT) (画像とテキスト、複数の画像には注意)
>>: MySQL サーバーの接続、切断、および cmd 操作
1. テーブルを作成する テーブル「学生」を作成( `id` int(11) NULLではない、 `...
目次VueUse にはどのようなユーティリティがありますか? VueUseをVueプロジェクトにイン...
テーブルとは何ですか?セルセルで構成されています。表では、<td> の数は、<tr...
目次文章1. 機械を準備する2. Dockerをインストールする1. 依存パッケージをインストールす...
1. 広告の 85% は未読です<br />解釈: 成功する広告の 15% にどうやって...
JS を使用してオブジェクト指向メソッドを実装し、JD.com の 5 つ星レビュー効果を実現します...
概要港とは何ですか?英語の単語の意味は「港」です。 Harborはコンテナ(貨物)を保管するために使...
1. VMwareのダウンロードとインストールリンク: https://www.jb51.net/s...
目次1. コンポーネントの登録2. コンポーネントの使用3. 父から息子へ4. 息子から父へ5. ス...
目次序文場合最適化まとめ序文バックエンド開発では、一度に大量のデータがロードされ、メモリやディスク ...
導入コンピューティングのニーズが拡大し続けるにつれて、アプリケーションのメモリに対する需要も増加して...
チュートリアルシリーズMySQL シリーズ: MySQL リレーショナル データベースの基本概念My...
目次序文1. コードによって設定されたデータベース名またはパスワードがローカルデータベースと一致して...
プロジェクトでは、SQL を使用してデータ分析を実行するために、大量のデータをデータベースにインポー...
1. 公式サイトからmysql-8.0.17-winx64をダウンロードし、Zipファイル形式を選択...