Vueでファジークエリを実装する方法の簡単な例

Vueでファジークエリを実装する方法の簡単な例

序文

いわゆるファジークエリとは、ユーザーの完全な入力やすべての入力情報がなくてもクエリサービスを提供することです。つまり、ユーザーは入力中にプロンプ​​ト情報(実際にはクエリで見つかった一致情報)を見ることができます。Baiduの検索機能は、ファジークエリの良い例です。実際、ファジークエリの原理は、oninputイベントを入力ボックスにバインドしてユーザーの入力を監視し、ユーザーが入力ボックスに情報を入力するたびにイベントがトリガーされてクエリが実行され、リアルタイムに表示されることです。原理は非常に単純ですが、実装にはいくつかの問題があります。文字が入力されるたびにイベントがトリガーされると考えることができます。長いメッセージを入力する必要がある場合、クエリを複数回トリガーする必要がありますか? ajax が連続して複数回トリガーされ、メソッド本体に DOM 要素を操作するメソッドがある場合、ブラウザは必然的に一時停止状態になったり、クラッシュしたりします。この問題を解決する方法はあるのでしょうか?答えは「はい」です

Vueはファジークエリを実装する

ウォッチと計算を使用してVueでファジークエリを実装する

聴取法は計算法でも実施できますが、聴取法の方が複雑なので計算法を使用することをお勧めします。

まず次のコード実装を見てみましょう

計算によって実装

監視による実装

HTML コード <div id="root">
        <h2>スタッフリスト</h2>
        <input type="text" placeholder="お名前を入力してください" v-model="keyWord">
        <ul>
            <li v-for="(p,index) filPersons の" :key="index">
                {{p.name}}-{{p.age}}-{{p.sex}}
            </li>
        </ul>
    </div>
スクリプトコード new Vue({
        el:"#ルート",
        データ:{
            キーワード:''、
            人数:

                {id:'001',名前:'馬東梅',年齢:18,性別:'女性'},
                {id:'002',名前:'周冬雨',年齢:19,性別:'女性'},
                {id:'003',名前:'ジェイ・チョウ',年齢:21,性別:'男性'},
                {id:'004'、名前:'デリック・ワン'、年齢:22、性別:'男性'}
        ]、
        },
        計算:{
            filPersons(){
                return this.persons.filter((p)=>{//フィルタリングされた配列を返します return p.name.indexOf(this.keyWord) !==-1
                })//filter はキーワードを含まないケースを除外するフィルタリング関数です}
        }
    })

ウォッチ関数を使用してボックスの値が変化するかどうかを監視します

HTMLコードは変更されません スクリプトコード new Vue({
        el:"#ルート",
        データ:{
            キーワード:''、
            人数:

                {id:'001',名前:'馬東梅',年齢:18,性別:'女性'},
                {id:'002',名前:'周冬雨',年齢:19,性別:'女性'},
                {id:'003',名前:'ジェイ・チョウ',年齢:21,性別:'男性'},
                {id:'004'、名前:'デリック・ワン'、年齢:22、性別:'男性'}
        ]、
        filPersons:[//これが存在しない場合、personsの値を元の値に戻すことはできません]
        
        },
        時計:{
            キーワード:{
                immediate:true, //ボックスの値が変更されていないすべての状況を表示するには、次の関数を実行します handler(val){
                    this.filPersons = this.persons.filter((p)=>{
                    p.name.indexOf(val) !==-1 を返す
                })
                }
            }
            
        }
    })

要約する

Vue のファジークエリ実装に関するこの記事はこれで終わりです。Vue のファジークエリ実装に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • VueはInput入力ボックスのファジークエリメソッドを実装します
  • Vueは入力ボックスのファジークエリのサンプルコードを実装します(スロットリング機能の適用シナリオ)
  • Vue2 フィルター ファジー クエリ メソッド
  • Vue 入力ボックスのファジークエリのサンプルコード
  • Vue はファジークエリを実装します - MySQL データベースデータ

<<:  MySQL データベース開発の 36 の原則 (要約)

>>:  Linux md5sumコマンドの使い方

推薦する

Maven モードで Tomcat ソースコードを実行する方法

序文最近、Tomcat の起動プロセスを分析していました。Tomcat のソース コードはアイデア次...

Saltstack に Zabbix サービスをデプロイする方法を説明します

目次SaltstackがZabbixサービスを導入httpd、mysql、phpをインストールするh...

Vueは完全な選択機能を実装しています

この記事の例では、完全な選択機能を実装するためのVueの具体的なコードを参考までに共有しています。具...

docker を使用して Windows 10 Home バージョンで Laravel 開発環境を構築する方法の詳細なチュートリアル

オペレーティング·システム: Win10 ホームエディションDockerをインストールします:公式サ...

MySQL 8.0.15 winx64 解凍版のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.15 winx64解凍版のインストールと設定方法を紹介します。具体...

コマンドラインを使用してUbuntuのバージョンを検出する方法

方法1: lsb_releaseユーティリティを使用するlsb_release ユーティリティは、L...

Linux での MongoDB のインストールと設定のチュートリアル

MongoDBインストールYumを使用してインストールすることを選択する1. repoファイルを作成...

MySQL データベースで機密データの暗号化と復号化を実装する方法

目次1. 準備2. MySQL暗号化関数方式2.1 MySQL 暗号化2.2 MYSQL 復号化3....

Node.jsをゼロから学ぶ

目次URL モジュール1. 解析メソッド2. フォーマット方法3. 解決方法イベントモジュール(イベ...

RabbitMQ の Docker インストールと設定手順

目次単一マシンの展開オンラインプルミラーを見るRabbitMQを作成して実行するMQコンテナを正常に...

HTML の左右レイアウトのサンプルコード

CS: ...コードをコピーコードは次のとおりです。 html,body{ margin:0px; ...

Nginx 構成 80 ポート アクセス 8080 とプロジェクト名アドレス メソッド分析

Tomcatはプロジェクトにアクセスします。通常はIP + ポート + プロジェクト名です。 Ngi...

Linux リモート管理と sshd サービス検証の知識ポイントの詳細な説明

1. SSHリモート管理SSH の定義SSH (Secure Shell) は、主にキャラクタ イン...

Linux オペレーティング システムの概要と紹介

目次1. オペレーティングシステムとは何か2. Linuxの起源3. Linuxの基本機能4. Li...