1. ホーム
  2. Web プログラミング
  3. ジャバスクリプト
  4. javascriptのクラスライブラリ

VUEグローバルフィルターの概念と留意点、基本的な使い方

2022-01-13 04:24:11

I. フィルタの概念

<ブロッククオート
Vue.jsでは、いくつかの一般的なテキストフォーマットとして使用できるフィルタをカスタマイズすることができます。フィルタは、ヒゲの補間とv-bind式の2つの場所で使用することができます。

1. グローバルフィルタの書式をカスタマイズする

Vue.filter('the name of the filter when it is called in the future', the filter's handler function)


次に、フィルタ呼び出し方法

 <! -- When calling a filter, you need to use | to call it, | is called a pipe character -->
      <td>{{item.ctime | formatDate}}</td>

フィルターハンドラでは、最初の正式なパラメーターはすでに固定されており、常にパイプ文字の前の値になります。
// The data here is the value of item.ctime in front of the pipe character
Vue.filter('formatDate',function(data){

})
// There must be a return value in the filter

III. フィルターに関する注意事項

  • Vue.filter('フィルター名',フィルターハンドラ)
  • 注:関数が指定されたフィルタのハンドラ関数の最初の正式なパラメータは、常にパイプ文字の前の値になります。
  • フィルタを呼び出す {{item.ctime | formmatDate}}  フィルタを呼び出すときは、パイプ文字と呼ばれる|を使用する必要があります。 
  • フィルタを呼び出す際にパラメータを渡すことができます。 {{item.ctime | formmatDate('pass argument')}}
  • 注:フィルタの呼び出しで渡される引数は、ハンドラの第2形式パラメータからしか受け取れません。第1形式パラメータは、パイプ文字の前の値ですでに占有されているためです。
  • 注意:フィルタのハンドラ関数で値を返す必要がある
  • パイプ文字を使って複数のフィルターを連続して呼び出すことができ、最終的な出力は常に最後に呼び出されたフィルターになります。
  • 注:フィルターは、補間された式または v-bind のような他の場所で使用することはできません。 v-text

IV. 基本的な使い方

vue ページ上の補間表現 文をレンダリングする
  <div id="app">
        <h3>{{mes}}</h3>
    </div>

<script src=". /js/vue.js"></script>
    <script>
        let vm = new Vue({
            el:'#app',
            data:{
                mes:"I'm a pessimist, pessimists do pessimistic things"
            }
        })
    </script>

要求事項 要件です。Vueのmesソースデータを変更しないことを条件に、"pessimistic"を"cheerful"に置き換えること。

まず、scriptタグでグローバルフィルターをカスタマイズし、独自のフィルター名を付けます。
 Vue.filter('setStr',function(data){
        })

フィルターにメソッドを定義する。
 Vue.filter('setStr',function(data){
            // There must be a return value in the filter
            return data.replace(/pessimistic/g,'cheerful')
            // Use the string manipulation method replace to replace some elements within a string with other elements, with g representing a global match
        })



そして、補間式の中で、フィルタ
<div id="app">
        <h3>{{mes | setStr}}</h3>
    </div>



この時点でページに移動して、効果を確認することができます。
基本的なフィルタが定義されている
メソッド内で置換される文字を与えずに、フィルタ関数内でフォームパラメータを与えることもできます
Vue.filter("strFormat",function(data,str){ // You can give a form parameter after data
            // In the filter, there must be a return value
            return data.replace(/pessimistic/g,str)
            // Use the string manipulation method replace to replace some elements within a string with other elements, g stands for global match
        })

次に、実際のパラメータを指定して再度呼び出します。
<div id="app">
        <h3>{{mes | setStr("careless")}}</h3>
    </div>

の結果を表示します。
また、フォーム・パラメータでデフォルト値を与え、実パラメータが与えられない場合はデフォルト値を、実パラメータが与えられる場合はその値を出力することができます
<div id="app">
        <h3>{{mes | setStr}}</h3>
    </div>

    <script src=". /js/vue.js"></script>
    <script>

        Vue.filter('setStr',function(data,str="fine"){
            // There must be a return value in the filter
            return data.replace(/pessimistic/g,str)
            // Use the string manipulation method replace to replace some elements within a string with other elements, with g representing a global match
        })



の結果が出ました。

この記事は、ビューのグローバルフィルタの概念と考慮事項や基本的な使用方法についてのすべてです、より関連するビューのグローバルフィルタの内容は、スクリプトハウスの過去の記事を検索してくださいまたは以下の関連記事を参照してください、あなたは将来的にもっとスクリプトハウスをサポートして願っています!.