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コマンドの使い方

推薦する

Linux ディスク パーティションの実装の原理と方法の分析

覚えて: IDE ディスク: 最初のディスクは hda、2 番目のディスクは hdb...最初のディ...

LinuxでのDNSサーバーの設定の詳細な説明

1. DNSサーバーの概念インターネットでの通信には IP アドレスの助けが必要ですが、数字に対する...

nginx でクロスドメイン障害修復を構成する方法の例

Nginxのクロスドメイン設定は次のようには機能しません サーバー{ 聞く 80; server_n...

CSS で TikTok テキスト揺れエフェクトを実装する例

日々の開発において、フロントエンドの学生はアニメーションやデザインについてよく議論します。デザイナー...

シンプルなカルーセル効果を実現するJavaScript

カルーセルとは何ですか?カルーセル: モジュールまたはウィンドウで、コンピューターでマウスをクリック...

MySQL テーブルスペースの断片化の概念と関連する問題の解決策

目次背景表領域の断片化とは何ですか?表領域の断片化を確認する方法表スペースの断片化問題を解決する方法...

Mysql 複数データベースのバックアップ コード例

この記事は主にMysqlの複数データベースのバックアップのコード例を紹介します。この記事ではサンプル...

2048 ゲームを実装するためのネイティブ js

2048ミニゲーム、参考までに具体的な内容は以下のとおりですまず、2048ゲームは16のグリッドか...

MySQLは、統計クエリを最適化するために、sum、case、whenを巧みに使用します。

私は最近、会社で統計レポートの開発に関わるプロジェクトに取り組んでいました。データの量が比較的多かっ...

Docker による Oracle 11g イメージ構成のプルに関する詳細なチュートリアル

さっそくAlibaba の oracle11g イメージをプルして構成する docker の記録を開...

HTML H タイトルタグの使用

H タグ、特に h1 タグの使用は常に議論の的となっている問題であり、私たちが研究する価値のある問題...

シンプルなドラッグ効果を実現するJavaScript

この記事では、ドラッグ効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します...

入力[type=file]の起動が遅くて動かなくなる問題を素早く解決します

入力タグタイプがファイルで、タグ内にaccpet="image/*"属性が設定さ...

インターネットウェブデザインにおけるバイオニックデザインの簡単な紹介

バイオニックデザインといえば、飛行機の発明、ドバイのブルジュ・アル・アラブ、平泳ぎなどを思い浮かべる...

vue3 学習ノートにおける axios の使用の変更の概要

目次1. axioの基本的な使い方2. クロスドメインの問題を解決するには? 3. パッケージ4. ...