序文いわゆるファジークエリとは、ユーザーの完全な入力やすべての入力情報がなくてもクエリサービスを提供することです。つまり、ユーザーは入力中にプロンプト情報(実際にはクエリで見つかった一致情報)を見ることができます。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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL データベース開発の 36 の原則 (要約)
仮想マシンは非常に便利なテストソフトウェアです。ハードウェアに損傷を与えることなく、さまざまなテスト...
コードをコピーコードは次のとおりです。 <前> <div> <sele...
Dockerfile は Docker イメージを構築するために使用されるファイルです。コマンドパラ...
この記事では、参考までにMySQLのインストールと設定のチュートリアルを紹介します。具体的な内容は次...
<br />このページはUTF8エンコードを使用しており、ヘッダーとフッターはテンプレー...
最近、Docker に MySQL をインストールしたところ、データベースの時刻がシステム時刻と 8...
目次1. プロトタイプモード例1例2例3 2. オブザーバーパターン1. プロトタイプモードプロトタ...
公式ドキュメント: JSON 関数名前説明JSON_APPEND() JSONドキュメントにデータを...
序文Docker はコンテナの環境変数を設定できます。設定方法は 2 つあります。イメージを作成する...
1. SQL インジェクションとは何ですか? SQL インジェクションは、入力パラメータに SQL ...
導入面接官がこんな質問をしたことはありませんか?データベースをどのように最適化しますか?では、この質...
HTML にオーディオ ファイルを挿入した後 (mp3 ファイルを再生した後) に発生したいくつかの...
交差点セレクター交差セレクターは、直接接続された 2 つのセレクターで構成されます。最初のセレクター...
WeChat 8.0 アップデートの主な特徴は、アニメーション絵文字のサポートです。送信するメッセー...
ページが非常に長い場合は、下にさらにコンテンツがあることをユーザーに知らせるために矢印が必要になるこ...