Vue3.0でカスタム命令を書くための簡単な手順

Vue3.0でカスタム命令を書くための簡単な手順

序文

Vue には、v-if、v-bind、v-on などの豊富な組み込みディレクティブが用意されています。さらに、Vue.directive({}) または directives:{} を通じてディレクティブを定義することもできます。

学習を始める前に、カスタム命令の適用シナリオを理解する必要があります。あらゆる機能の開発は、特定の問題を解決することです。

カスタム命令を使用すると、DOM に対してより低レベルの操作を実行できます。これにより、いくつかのシナリオで問題を迅速に解決するためのアイデアが得られるだけでなく、基礎となる Vue をさらに理解できるようになります。

最初のステップ

main.js内

srcの下の履歴書に対応するフォルダ

import Directives from "@/Directives/index"; // カスタムディレクティブ (@ は src を表します)
const app = createApp(App);
app.use(ディレクティブ);
app.mount("#app");

ステップ2

import copy from "./copy"; // 必要な命令をインポートする const directivesList = {
  コピー // マウント};

constディレクティブ = {
  インストール: 関数 (アプリ) {
    Object.keys(directivesList).forEach((key) => {
      app.directive(key, directivesList[key]); // 登録 });
  }
};

デフォルトのディレクティブをエクスポートします。 // 例外

ステップ3

ディレクティブの内容をcopy.jsに記述します。Vue2とVue3はライフサイクル関数の一部のみを変更します。

「element-plus」から ElMessage をインポートします。
定数コピー = {
  マウントされた(el、{値}){
    el.$value = 値;
    el.ハンドラ = () => {
      if (!el.$value) {
        // 値が空の場合はプロンプトを表示します ElMessage.warning({
          メッセージ: "こんにちは、コピーされた値は空にできません。",
          タイプ: 「警告」
        });
        戻る;
      }
      if (window.clipboardData) {
        window.clipboardData.setData("テキスト", el.$value);
      } それ以外 {
        (関数 (コンテンツ) {
          document.oncopy = 関数 (e) {
            e.clipboardData.setData("テキスト", コンテンツ);
            e.preventDefault();
            ドキュメント.oncopy = null;
          };
        })(el.$値);
        document.execCommand("コピー");
      }

      ElMessage.success("コピーが成功しました");
    };
    // クリック イベントをバインドします el.addEventListener("click", el.handler);
  },
  beforeUpdate (el, {
    価値
  }) {
    el.$value = 値;
  },
  アンマウント(el){
    el.removeEventListener("click", el.handler);
  }
};

デフォルトのコピーをエクスポートします。

要約する

Vue3.0 のカスタム命令の書き方に関するこの記事はこれで終わりです。Vue3.0 のカスタム命令に関するより詳しい情報は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue3.0 カスタム命令(命令)知識の要約
  • vue3 カスタムディレクティブの詳細
  • Vue3命令がどのように実装されているかを説明する記事

<<:  Tomcat9 Windows サービスのインストールに関する詳細なチュートリアル

>>:  SQLインジェクションの詳しい解説 - セキュリティ編(第2部)

推薦する

MySQL で 2 つのテーブルをクエリする場合の from と join の違いの概要

序文MySQL では、複数テーブル結合クエリは非常に一般的な要件です。複数テーブルクエリを使用する場...

Typescriptの基本構文13個を共有する

目次1. Tsとは何か2. 基本的な文法1. プリミティブデータ型を宣言する2. オブジェクト型を宣...

フレームセットを使用して複雑なページレイアウトを実装するためのテクニックの概要

コードをコピーコードは次のとおりです。 <html> <!--混合フレームレイアウ...

ウェブページ要素の完全な分析

相対的な長さの単位それら説明: 相対的な長さの単位。現在のオブジェクト内のテキストのフォント サイズ...

HTMLフォーム送信方法のケーススタディ

フォームの送信方法をまとめると次のようになります。 1. 送信ボタンを使用して送信します。送信ボタン...

ウェブデザインスキル:中国語と英語が混在するウェブページの上位表示の問題

<br />私はこの問題で気が狂いそうです。症状は次のとおりです。 症状の説明: Int...

Vue で eslint 検出をオフにする方法 (複数の方法)

目次1. 問題の説明2. 問題解決1. 問題の説明Vue プロジェクトを開発する場合、作成時に誤って...

HTMLインライン要素とブロックレベル要素の基本概念と使用例

HTML タグには、インライン要素とブロックレベル要素の 2 種類があります。まず、インライン要素と...

TCPパフォーマンスチューニングの実装原理とプロセス分析

3ウェイハンドシェイクフェーズクライアントSYNパケットの再試行回数sysctl -w net.ip...

Apache での ModSecurity のインストール、有効化、および構成

ModSecurity は、Web サーバーに入るすべてのパケットをチェックする強力なパケット フィ...

MySQLのREDOログとUNDOログの詳細な説明

MySQL ログ システムで最も重要なログは、REDO ログとアーカイブ ログです。後者は MySQ...

Linux での wget コマンドの基本的な使い方

目次序文1. wgetを使用して単一のファイルをダウンロードする2. wget -Oを使用してダウン...

HTML ページジャンプコード

次のコードを index.html などのデフォルトのホームページ ファイルとして保存し、ルート デ...

JavaScript スコープチェーンの基本原理のグラフィカルな説明

目次序文範囲1. スコープとは何ですか? 2. [[スコープ]] プロパティ3. スコープチェーン4...

ページ内にマーキーとフラッシュが共存する場合の競合解決

競合の主な症状は、FLASH ボタンがジャンプし続け、不安定になり、Web ページの外観と通常のアク...