ホームページ ウェブフロントエンド Vue.js Vue を使用してデータのフィルタリングと取得機能を実装するにはどうすればよいですか?

Vue を使用してデータのフィルタリングと取得機能を実装するにはどうすればよいですか?

Jun 27, 2023 am 08:46 AM
vue データのフィルタリング 検索

Vue は、最新の Web アプリケーションの構築によく使用される人気の JavaScript フレームワークです。 Vue データ バインディング システムにより、フロントエンド開発がよりシンプルかつ直感的になります。 Vue には、フィルター処理など、データを処理するための便利なツールもいくつか用意されています。この記事では、Vue を使用してデータのフィルタリングと取得機能を実装する方法を紹介します。

1. データ フィルターに計算プロパティを使用する

Vue の計算プロパティは応答性が高く、依存データの変更に応じてリアルタイムでデータを更新できます。これにより、データ フィルターを非常に簡単に作成できるようになります。計算されたプロパティは、アプリケーションでフィルター処理されたデータを表示するために使用できる新しい配列を返すことができます。

次の例では、入力ボックスを使用して検索機能を実装します。この入力ボックスを Vue コンポーネント インスタンスのデータ モデルにバインドします。次に、計算されたプロパティを使用してリスト データをフィルターし、検索キーワードを含む項目のみを表示します。

HTML:

<div id="app">
  <input v-model="search" type="text" placeholder="Search...">
  <ul>
    <li v-for="item in filteredItems">{{ item }}</li>
  </ul>
</div>
ログイン後にコピー
ログイン後にコピー

JavaScript:

new Vue({
  el: '#app',
  data: {
    search: '',
    items: [
      'Apple',
      'Banana',
      'Orange',
      'Mango',
      'Pear'
    ]
  },
  computed: {
    filteredItems: function () {
      var search = this.search.toLowerCase();
      return this.items.filter(function (item) {
        return item.toLowerCase().indexOf(search) !== -1;
      })
    }
  }
})
ログイン後にコピー

v-model ディレクティブを通じて入力ボックスを検索属性にバインドします。次に、v-for ディレクティブを使用して、フィルターされたデータをテンプレートにレンダリングします。

Vue インスタンスの計算されたプロパティでは、まず検索キーワードを小文字に変換し、次に filter() メソッドを使用して検索キーワードに一致する項目をフィルターで除外します。

2. データのフィルタリングと取得のためにルーティングと計算されたプロパティを組み合わせる

Vue Router を使用してルーティングを管理する場合、ルーターのクエリ パラメーターを使用して、より高度な検索機能を実装できます。これにより、ユーザーは URL で検索結果を確認したり、URL クエリ パラメーターを介して検索結果を共有したりできます。

HTML:

まず、検索値をクエリ パラメーターとして渡すように、入力ボックスのバインドを変更する必要があります。ルーターの $route オブジェクトを使用して検索パラメーターを取得します。次に、コンポーネント インスタンスのデータ モデルの代わりにルート パラメーターを使用するように、計算されたプロパティを変更します。

<div id="app">
  <input v-model="search" type="text" placeholder="Search...">
  <ul>
    <li v-for="item in filteredItems">{{ item }}</li>
  </ul>
</div>
ログイン後にコピー
ログイン後にコピー

JavaScript:

const router = new VueRouter({
  routes: [{
    path: '/',
    component: App,
    name: 'home'
  }]
});

const App = {
  data: function() {
    return {
      items: [
        'Apple',
        'Banana',
        'Orange',
        'Mango',
        'Pear'
      ],
      search: ''
    };
  },
  computed: {
    filteredItems: function() {
      var search = this.$route.query.search.toLowerCase();
      return this.items.filter(function(item) {
        return item.toLowerCase().indexOf(search) !== -1;
      });
    }
  }
};

new Vue({
  router,
  el: '#app',
  template: '<router-view></router-view>'
});
ログイン後にコピー

ルーターを Vue インスタンスに渡し、router-view ディレクティブをコンポーネントに置き換えます。コンポーネントでは、$route.query.search を使用してクエリ パラメーターを取得できます。次に、計算されたプロパティを使用して、検索パラメーターに基づいてリストをフィルターします。

この例では、ユーザーが入力ボックスに新しい検索キーワードを入力している限り、URL 内のクエリ パラメーターが更新され、新しいパラメーターに基づいてリストが更新されます。

概要:

この記事では、Vue で計算プロパティとルーターを使用してデータのフィルタリングと取得機能を実装する方法を紹介しました。このようにして、ユーザーは URL で検索結果を表示し、その結果を他の場所で簡単に共有できるようになります。また、Vue のデータ バインディングと計算されたプロパティ システムにより、フロントエンドでの検索機能とフィルター機能の実装の難しさが大幅に簡素化されることもわかりました。

以上がVue を使用してデータのフィルタリングと取得機能を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

エクスポートデフォルトとVUEでのインポートの使用方法 エクスポートデフォルトとVUEでのインポートの使用方法 Apr 07, 2025 pm 07:09 PM

エクスポートデフォルトは、VUEコンポーネントのエクスポートに使用され、他のモジュールがアクセスできるようにします。インポートは、単一または複数のコンポーネントをインポートできる他のモジュールからコンポーネントをインポートするために使用されます。

VueとElement-UIカスケードドロップダウンボックスプロップパス値 VueとElement-UIカスケードドロップダウンボックスプロップパス値 Apr 07, 2025 pm 07:36 PM

データ構造は、VUEおよびElement-UIがカスケードしたドロップダウンボックスがプロップを通過し、静的データの直接割り当てがサポートされている場合に明確に定義する必要があります。データが動的に取得される場合は、ライフサイクルフック内で値を割り当て、非同期状況を処理することをお勧めします。非標準のデータ構造の場合、デフォルトプロップまたは変換データ形式を変更する必要があります。意味のある変数名とコメントで、コードをシンプルで理解しやすいままにしてください。パフォーマンスを最適化するには、仮想スクロールまたは怠zyな読み込み手法を使用できます。

Vueはマーキー/テキストスクロール効果を実現します Vueはマーキー/テキストスクロール効果を実現します Apr 07, 2025 pm 10:51 PM

CSSアニメーションまたはサードパーティライブラリを使用して、VUEでマーキー/テキストスクロール効果を実装します。この記事では、CSSアニメーションの使用方法を紹介します。スクロールテキストを作成し、テキストを&lt; div&gt;をラップします。 CSSアニメーションを定義し、オーバーフローを設定します:非表示、幅、アニメーション。キーフレームを定義し、アニメーションの開始と終了時にtranslatex()を設定します。期間、スクロール速度、方向などのアニメーションプロパティを調整します。

VUEおよびElement-UIカスケードセレクターを実装する方法 VUEおよびElement-UIカスケードセレクターを実装する方法 Apr 07, 2025 pm 08:18 PM

VueおよびElement-UIカスケードセレクターは、簡単なシナリオでEL-Cascaderコンポーネントを直接使用できますが、よりエレガントで効率的で堅牢なコードを記述するには、次の詳細に注意する必要があります。データソース構造の最適化:データを平らにし、IDと括弧を使用して親子関係を表す。非同期読み込みデータ処理:読み込みステータス、エラープロンプト、ユーザーエクスペリエンスを処理します。パフォーマンスの最適化:オンデマンド読み込みまたは仮想スクロールテクノロジーを検討してください。コードの読みやすさと保守性:コメントを書き、意味のある変数名を使用し、コード仕様に従ってください。

リクエスト方法(取得、投稿など)は正しく使用されていますか? リクエスト方法(取得、投稿など)は正しく使用されていますか? Apr 07, 2025 pm 10:09 PM

vue.jsでのaxios要求方法の使用には、次の原則に従う必要があります。取得:リソースを取得し、データを変更しないでください。投稿:データの作成または送信、データの追加または変更。 PUT:既存のリソースを更新または交換します。削除:サーバーからリソースを削除します。

VUEでデフォルトのエクスポートを使用する方法 VUEでデフォルトのエクスポートを使用する方法 Apr 07, 2025 pm 07:21 PM

VUEのデフォルトのエクスポートが明らかになります:デフォルトのエクスポート、名前を指定せずにモジュール全体を一度にインポートします。コンポーネントはコンパイル時にモジュールに変換され、使用可能なモジュールはビルドツールを介してパッケージ化されます。名前付きのエクスポートと組み合わせて、定数や関数などの他のコンテンツをエクスポートできます。よくある質問には、循環依存関係、パスエラー、およびビルドエラーが含まれ、コードとインポートステートメントを慎重に調べる必要があります。ベストプラクティスには、コードセグメンテーション、読みやすさ、コンポーネントの再利用が含まれます。

vue.jsのストリングをオブジェクトに変換するためにどのような方法が使用されますか? vue.jsのストリングをオブジェクトに変換するためにどのような方法が使用されますか? Apr 07, 2025 pm 09:39 PM

vue.jsのオブジェクトに文字列を変換する場合、標準のjson文字列にはjson.parse()が推奨されます。非標準のJSON文字列の場合、文字列は正規表現を使用して処理し、フォーマットまたはデコードされたURLエンコードに従ってメソッドを削減できます。文字列形式に従って適切な方法を選択し、バグを避けるためにセキュリティとエンコードの問題に注意してください。

Vueコンポーネントがエクスポートデフォルトを使用する理由 Vueコンポーネントがエクスポートデフォルトを使用する理由 Apr 07, 2025 pm 07:06 PM

初心者は、コンポーネントのエクスポートを簡素化し、柔軟性を向上させ、競合の命名を回避し、ビルドツールで特別に処理され、ビルド効率の最適化に役立つため、Vueコンポーネントへのエクスポートを好みます。さらに、コードの読みやすさと保守性を向上させ、エラーの可能性を低下させます。

See all articles