1. カスタム指示の登録以下の例はすべて、入力ボックスが自動的にフォーカスを取得するように実装するためのカスタム命令です。 1.1. グローバルカスタム指示vue2 では、グローバル カスタム ディレクティブは、 例1 : Vue2グローバルカスタム命令 Vue.directive('focus',{ 挿入:(el)=>{ el.フォーカス() } }) 例2 : Vue3グローバルカスタム命令 //グローバルカスタムディレクティブ app.directive('focus',{ マウントされた(el){ el.フォーカス() } }) //コンポーネントは <input type="text" v-focus /> を使用します 1.2. ローカルカスタム指示コンポーネントでは、 例3 : ローカルカスタム指示 <スクリプト> //ローカルカスタム命令 const defineDir = { 集中: マウントされた(el){ el.フォーカス() } } } エクスポートデフォルト{ ディレクティブ:defineDir、 設定(){} } </スクリプト> 2. カスタム命令のライフサイクルフック関数ディレクティブ定義オブジェクトは、次のフック関数を提供できます(すべてオプションで、必要に応じて導入されます)
例3 : 命令内のライフサイクル関数の実行をテストする <テンプレート> <div> <input type="text" v-focus v-if="show"><br> <button @click="changStatus">{{show?'非表示':'表示'}}</button> </div> </テンプレート> //ローカルカスタム命令 const autoFocus = { 集中: 作成された(){ console.log('作成されました'); }, マウント前(){ console.log('マウント前'); }, マウントされた(el){ console.log('マウントされました'); }, 更新前(){ コンソールログ('beforeUpdated') }, 更新されました(){ console.log('更新されました'); }, アンマウント前(){ console.log('アンマウント前'); }, アンマウント(){ console.log('マウント解除されました'); } }, } 'vue' から { ref } をインポートします エクスポートデフォルト{ ディレクティブ:autoFocus、 設定(){ 定数 show = ref(true) 戻る { 見せる、 ステータスの変更(){ 表示値 = !表示値 } } } } ボタンをクリックすると、 ただし、追加した ここで、 vue2からvue3ではカスタム命令のライフサイクルフック機能が変更になりました。具体的な変更点は以下の通りです。
3. カスタム命令フック関数のパラメータフック関数には次のパラメータが与えられます。
バインディングに含まれるプロパティは次のとおりです。
<テンプレート> <div> <div v-fixed >配置</div> </div> </テンプレート> <スクリプト> //カスタム命令の動的パラメータ const autoFocus = { 修理済み: beforeMount(el,binding){ コンソールログ('el',el) console.log('binding',binding) } } } エクスポートデフォルト{ ディレクティブ:autoFocus、 設定(){ } } </スクリプト> 4. カスタムコマンドパラメータカスタム命令にはパラメータも設定でき、コンポーネント インスタンス データに基づいて動的にリアルタイムで更新できます。 例4 : 命令の動的パラメータのカスタマイズ <テンプレート> <div> <div v-fixed:pos="posData" style="width:100px;height:100px;background:grey">配置</div> </div> </テンプレート> <スクリプト> //カスタム命令の動的パラメータ const autoFocus = { 修理済み: beforeMount(el,binding){ el.style.position = "固定" el.style.left = binding.value.left+'px' el.style.top = binding.value.top + 'px' } } } エクスポートデフォルト{ ディレクティブ:autoFocus、 設定(){ 定数posData = { 残り:20, トップ:200 } 戻る { posデータ、 } } } </スクリプト> カスタムディレクティブはいつ必要になりますか?
vue3 カスタム手順の詳細に関するこの記事はこれで終わりです。より関連性の高い vue3 カスタム手順については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: ウェブサイトのビジュアルデザイン(画像とテキスト)における情報伝達の役割と方法
img 要素を使用すると、HTML ドキュメントに画像を埋め込むことができます。画像を埋め込むには、...
目次1 トランザクションの同時実行で発生する問題1.1 ダーティリード1.2 繰り返し不可能な読み取...
1. <select style="width:195px" name=&...
1. すべてのタグには対応する終了タグが必要です以前の HTML では、<p> や &l...
この記事はRHEL7.5でのMySQL 8.0.11のインストールチュートリアルを記録しています。具...
目次概要型アサーション構文ではインスタンスオブ構文typeof構文要約する概要TypeScript ...
ディスク領域の管理は、システム管理者にとって重要な日常的なタスクです。ディスク領域が使い果たされると...
Node.js では、.js ファイルは完全なスコープ (モジュール) です。したがって、var に...
//デフォルトプロトコル/ デフォルト プロトコルの使用は、リソース アクセス プロトコルが現在の...
目次1. 2 つの setState を何回呼び出すのですか? 2. 2 つの setState の...
目次序文ブラウザにおけるオーディオとビデオに関する知識のまとめビデオエンコーディング包装形態オーディ...
目次1. Vueにおけるwatchの役割はその名の通り、監視の役割です。 2. このオブジェクトのプ...
HTML コード内の連続するスペースまたは空白行 (改行) はすべて 1 つのスペースとして表示され...
目次プレースホルダーの置き換えコンソール印刷テーブル()ログ、情報、警告、エラーグループ()、グルー...
/etc/fstabパーティション/ディスクを自動的にマウントし、マウントするパーティション/デバイ...