Vue プロジェクトでよく使用されるツール機能の概要

Vue プロジェクトでよく使用されるツール機能の概要

序文

この記事では、Vueプロジェクトでよく使用されるツール関数をいくつか記録します。ツール関数を一元管理するために、これらの関数はsrcディレクトリの下のutilsフォルダに統一して配置されています。

1. カスタムフォーカスコマンド

1. 方法1

マウントされたサイクルでは、ref+querySelectorが入力タグを取得し、focus()を呼び出します。

2. 方法2

カスタムディレクティブ(ローカル)ディレクティブ:fofo(挿入)、タグで定義および使用される、v-fofo

3. 方法3

グローバルカスタム指示、推奨 (再利用性が高い)。 main.js にインポートして使用するだけです。 コードは次のとおりです(例):

'vue' から Vue をインポートします

Vue.directive("fofo",{
  挿入(el) {
    // 取得した要素の名前を決定します if (el.nodeName === 'INPUT' || el.nodeName === 'TEXTAREA') {
      el.フォーカス()
  	} それ以外 {
     // 内部レイヤーを取得しようとします el.querySelector('input').focus()
    }
  }
})

2. 入力ボックスの手ぶれ補正

1. 需要

ユーザーが入力ボックスにコンテンツを入力すると、ユーザーの入力コンテンツを取得してサーバーにフィードバックするために、入力ボックスの入力イベントを監視する必要があります。ただし、入力ボックスの値が変更されると、すぐに Ajax リクエストが送信され、不要な Ajax リクエストが発生します。ユーザーが入力を止めて一定時間待機すると、リクエストはバックグラウンドに送信され、不要なリクエストを減らすことができます。

2. アイデア

ユーザーが入力を開始すると、タイマーが開始されます。タイマーが終了した後、ユーザーが再度コンテンツを入力しない場合は、Ajax リクエストがバックグラウンドに送信されます。指定された時間内にユーザーが再度入力すると、以前のタイマーはクリアされ、タイマーが再開されます。

3. コードの実装

実装原理を理解した後、コードを抽出できることを示す例を次に示します。 コードは次のとおりです(例):

<テンプレート>
	<div>
        <input type="text" v-model="kw" @input="inputFn"/>
    </div>
</テンプレート>
<スクリプト>
エクスポートデフォルト{
    データ(){
        戻る {
            :''、
            タイマー:null
        }
    },
    方法:{
        入力関数(){
            タイムアウトをクリアします(this.timer)
      		this.timer = setTimeout(() => {
                if(this.kw === '') 戻り値
                // ここで、ユーザーが入力したキーワードに応じてバックグラウンドで返される検索関連リストを取得するための Ajax リクエストを送信できます。console.log(this.kw)
            }, 1000) // ユーザーが 1 秒間コンテンツの入力を停止すると、タイマー内のロジックが実行されます。ユーザーが 1 秒以内に再度コンテンツを入力すると、タイマーが再開されます。 }
   	}
}
</スクリプト>

3. キーワードの強調表示

1. 需要

ユーザーが入力ボックスでキーワードを検索すると、表示される連想リスト内のキーワードの色が変わり、ユーザーはより直感的に目的の結果を確認できます。

2. アイデア

lightFn関数をカプセル化します。この関数は2つの引数を受け取ります。1つ目は変更する文字列、2つ目は一致させるキーワードです。

3. コードデモンストレーション

コードは次のとおりです(例):

エクスポートconst lightFn = (str, targetStr) => {
    // 大文字と小文字を区別せず、グローバルに一致させる const reg = new RegExp(targetStr, 'ig')
  str.replace(reg, match => { を返す
    `<span style="color:red">${match}</span>` を返します
  })
}

IV. Excelテーブルに保存された時間をフォーマットする

1. 需要

インポートする Excel テーブルに保存されている時間を、Excel 形式から保存に使用する形式に変換します。

2. コードデモンストレーション

このコードはLan Yuxiから引用したものです。この偉大な人に感謝して、ここに集めておきます~ コードは次のとおりです(例):

エクスポート関数formatExcelDate(numb, format = '/') {
  const time = new Date((数値 - 25567) * 24 * 3600000 - 5 * 60 * 1000 - 43 * 1000 - 24 * 3600000 - 8 * 3600000)
  時間.setYear(時間.getFullYear())
  定数年 = time.getFullYear() + ''
  定数月 = time.getMonth() + 1 + ''
  定数日付 = time.getDate() + ''
  if (format && format.length === 1) {
    年 + 形式 + 月 + 形式 + 日付を返す
  }
  年 + (月 < 10 ? '0' + 月 : 月) + (日 < 10 ? '0' + 日付 : 日) を返します
}

要約する

Vue プロジェクトでよく使われるツール機能に関するこの記事はこれで終わりです。Vue でよく使われるツール機能の詳細については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue のユーティリティ関数の例の詳細な説明

<<:  Nginx/Httpd リバース プロキシ Tomcat 設定チュートリアル

>>:  Linux/Docker で System.Drawing.Common を使用する

推薦する

IDEA 2020.3.1 で Tomcat をデプロイし、最初の Web プロジェクトを作成するプロセスの詳細な説明

目次Tomcat の紹介Tomcat の展開Web プロジェクトの作成tomcatの設定プロジェクト...

react setStateの詳細な説明

目次setState は同期ですか、それとも非同期ですか?カスタム合成イベントと React フック...

DockerにRocketMQをインストールするための実装手順

目次1. 画像を取得する2. ブローカーサーバーを作成する3. ブローカーを作成する4. Rocke...

Linuxカーネルとデバイスツリーのコンパイルと書き込みを分析する

目次1. 材料を準備する2. Linuxカーネルファイルをダウンロードする3. コンパイル4. TF...

Javascriptでシングルトンパターンを実装する方法

目次概要コードの実装シングルトンパターンの簡易版改良版プロキシバージョンシングルトンモード遅延シング...

uniappとvueの違いの詳細な説明

目次1. シンプルなページの例2.uni-appはvueコンポーネントとミニプログラムネイティブコン...

シンプルなjQuery + CSSを使用してカスタムタグタイトルツールチップを作成します

導入シンプルな jQuery + CSS を使用して、ブラウザのデフォルトの動作を置き換えるカスタム...

Linuxの読み取りコマンドの使用

1. コマンドの紹介read コマンドは、シェルの組み込みコマンドで、標準入力または -u オプショ...

Windows で Nginx を使用して https サーバーとリバース プロキシを構成する際の問題

リクエストロジックフロントエンド --> https経由でnginxをリクエストnginx -...

プロトタイプとプロトタイプチェーン プロトタイプとプロトタイプの詳細

目次1. プロトタイプ2. プロトタイプチェーン2.1 コンストラクタ2.2 電話をかける/申し込む...

HTML をホームページとして設定し、お気に入りに追加_Powernode Java Academy

IE ブラウザで「ホームページとして設定」および「お気に入りに追加」機能を実装する方法解決:指定さ...

Linux での mysql および mysql.sock のインストールに関する問題

最近、Linux に Aphace、mysql、php をインストールするときに多くの問題に遭遇しま...

数十億のデータに対するMySQLページングの最適化に関する簡単な説明

目次背景分析するデータシミュレーション1. 従業員テーブルと部門テーブルの2つのテーブルを作成します...

個人的な意見: デザインについて語る

<br />最も実用的なものを選んで話しましょう。まず、勤務先の都市を慎重に選ぶ必要があ...

ウェブフロントエンドウェブ開発の一般的なプロセスの簡単な紹介

フロントエンド開発を行っている初心者の学生を多く見かけますが、彼らの効率は比較的遅いです。常にコード...