Vue でフィルターを使用し、カスタム フィルターを実装する方法

王林
リリース: 2023-06-09 16:09:22
オリジナル
3485 人が閲覧しました

Vue は人気のある JavaScript フレームワークであり、その学習のしやすさ、使いやすさ、柔軟性により、特にフロントエンド開発者に好まれています。 Vue では、フィルターは一部のデータの変換と書式設定を処理するのに役立つ非常に一般的な機能であり、これによりデータのプレゼンテーションがより明確で美しくなります。この記事では、Vue でのフィルターの使用方法とカスタム フィルターの実装方法を紹介します。

1. Vue でのフィルターの使用

Vue のフィルターは、表示されるデータをフィルターするために使用でき、グローバル フィルターとローカル フィルターを通じて定義できます。グローバル フィルターはアプリケーションの任意のコンポーネントで使用できますが、ローカル フィルターは現在のコンポーネントでのみ使用できます。

以下は、Vue でフィルターを使用する方法を示す簡単な例です:

<div id="app">
  <p>原始字符串:{{ message }}</p>
  <p>过滤后字符串:{{ message | reverse }}</p>
</div>

<script>
new Vue({
  el: '#app',
  data: {
    message: 'Hello World!'
  },
  filters: {
    reverse: function(value) {
      return value.split('').reverse().join('')
    }
  }
})
</script>
ログイン後にコピー

上記のコードでは、文字列を引数として受け取り、反転の結果を返すグローバル フィルター reverse を定義します。それ。テンプレートでは、| 記号を使用してこのフィルターを呼び出し、メッセージ データは表示する前にフィルターによって処理されます。

2. カスタム フィルターの実装方法

Vue では、特定のニーズに合わせてフィルターをカスタマイズできます。以下は、日付文字列を指定された形式の日付に変換するカスタム フィルターの例です。

<div id="app">
  <p>原始日期:{{ date }}</p>
  <p>转换后日期:{{ date | dateFormat('yyyy-MM-dd') }}</p>
</div>

<script>
new Vue({
  el: '#app',
  data: {
    date: '2021/01/01'
  },
  filters: {
    dateFormat: function(value, format) {
      var date = new Date(value)
      var year = date.getFullYear()
      var month = date.getMonth() + 1
      var day = date.getDate()
      var hour = date.getHours()
      var minute = date.getMinutes()
      var second = date.getSeconds()

      format = format.replace('yyyy', year)
      format = format.replace('MM', pad(month))
      format = format.replace('dd', pad(day))
      format = format.replace('hh', pad(hour))
      format = format.replace('mm', pad(minute))
      format = format.replace('ss', pad(second))

      return format
    }
  }
})

function pad(number) {
  return number < 10 ? '0' + number : number
}
</script>
ログイン後にコピー

上記のコードでは、部分フィルター dateFormat を定義します。これは 2 つのパラメーター (1 つは日付文字列、もう 1 つは日付形式) を受け入れます。フィルター関数内では、JavaScript の Date オブジェクトを通じて文字列を日付に変換し、指定された形式に従って連結します。その中でも、単一の月、日、時、分、秒の先頭にゼロを追加するゼロパディング機能パッドを使用します。

カスタム フィルターの形式は次のとおりです。

filters: {
  filterName: function(value[, arg1, arg2, ...]) {
    // filter function body
    return filteredValue
  }
}
ログイン後にコピー

このうち、filterName はフィルターの名前、value はフィルター対象のデータ、および次の arg1、arg2 などです。 . はオプションのパラメータで、追加データの受け渡しやフォーマットの設定などに使用します。フィルター関数は入力データを変換し、フィルター処理された結果を返すことができます。

概要:

この記事では、Vue でフィルターを使用する方法とカスタム フィルターを実装する方法を学びました。グローバル フィルターでもローカル フィルターでも、データを処理してより美しく読みやすくするのに役立ちます。カスタムフィルターの実装方法も非常に簡単で、フィルターの形式に合わせて関数を定義するだけです。この記事が皆さんのお役に立てば幸いです。

以上がVue でフィルターを使用し、カスタム フィルターを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート