1. 簡単な紹介Vue.js を使用すると、一般的なテキストの書式設定に使用できる独自のフィルターを定義できます。 フィルターは、二重中括弧補間と v-bind 式の 2 つの場所で使用できます (後者は 2.1.0 以降でサポートされています)。 フィルターは、JavaScript 式の最後に追加する必要があります。これは、「パイプ」記号で示されます。 <!-- 二重中括弧内 --> {{ メッセージ | フィルター }} <!-- `v-bind` 内 --> <div v-bind:msg="メッセージ | フィルター"></div> フィルター関数は常に最初の引数として式の値を受け取ります。 上記の例では、フィルター関数は最初の引数としてメッセージの値を受け取ります。 1.1 フィルターは直列に接続できる {{ メッセージ | フィルターA | フィルターB }} この例では、filterA は単一のパラメータを受け入れるフィルタ関数として定義されています。式 message の値は、パラメータとして関数に渡されます。次に、単一のパラメータを受け取るように定義されているフィルタ関数 filterB を呼び出し、filterA の結果を filterB に渡します。 1.2 フィルターはパラメータを受け取ることができるJavaScript関数です {{ メッセージ | filterA('arg1', arg2) }} filterA は、3 つのパラメータを受け入れるフィルタ関数として定義されます。メッセージの値は最初のパラメーター、通常の文字列 'arg1' は 2 番目のパラメーター、式 arg2 の値は 3 番目のパラメーターです。 2. vue-cliでグローバルフィルターを定義する構文: Vue.filter( filterName, ( ) => { return // データ処理結果} ) 例えば: <div id="アプリ"> <h3>{{ユーザー名 | 追加名}}</h3> </div> <スクリプト> // パラメータ 1: フィルタの名前、つまりパイプ文字の後の処理関数です。 // パラメータ2: 処理関数、処理関数のパラメータは上記と同じ Vue.filter("addName",(値)=>{ 「私の名前は」+値を返す }) vm = new Vue({ el:"#アプリ", データ:{ ユーザー名:"シャオミン" } }) </スクリプト> 2.1 実際の開発と使用 グローバル フィルターは、データの変更によく使用されます。通常は、処理関数を抽出して .js ファイルに配置します。 // filter.js ファイルレット filterPrice = (値) => { 「受け取った金額」+「値」+「元」を返す } filterDate = (値) => { 戻り値 + '日' } デフォルトをエクスポート {filterPrice,filterDate} 上記の filter.js ファイルを main.js にインポートします。filter.js ファイルは任意のコンポーネントにインポートすることもできますが、グローバル フィルターの場合は main.js で定義するのが最適です。インポートされるのはオブジェクトなので、Object.keys() メソッドを使用してキーの配列を取得し、データを走査して、キーをグローバル フィルターの名前にし、その後にキーに対応する処理関数を続けます。こうすることで、グローバル フィルターを任意のコンポーネントで使用できるようになります。 //メイン.js // 以下にインポートする方法が 2 つあります。最初の方法をお勧めします。import * as filters from './utils/filter/filter' // './utils/filter/filter' から {filterPrice,filterDate} をインポートします console.log(フィルター) Object.keys(filters.default).forEach((item)=>{ Vue.filter(アイテム、フィルター.default[アイテム]) }) 新しいVue({ ルーター、 店、 レンダリング: h => h(App), }).$mount('#app') 3. コンポーネントでグローバル フィルターを使用する://テスト.vue <テンプレート> <div> <input type="text" v-model="filterCount" > <div>{{フィルター数 | フィルター価格}}</div> <div>{{フィルターカウント | フィルター日付}}</div> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ データ(){ 戻る { フィルター数:1500 } }, } </スクリプト> 3. vue-cliでローカルフィルターを定義する//テスト.vue <テンプレート> <div> <input type="text" v-model="filterCount" > <div>{{フィルター数 | フィルター価格}}</div> <div>{{フィルターカウント | フィルター日付}}</div> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ データ(){ 戻る { フィルター数:1500 } }, } </スクリプト> 4. 一般的な使用シナリオ4.1 日付(時刻)のフォーマット シナリオ 1: バックエンドから送信された時刻: 2019-11-19T04:32:46Z moment.jsをインストールする // メイン.js 'moment' から moment をインポートする // グローバルフィルターを定義 - 時間形式 Vue.filter('format',function(val,arg){ if(!val) 戻り値; val = val.toString() moment(val).format(arg) を返す }) //テスト.vue <テンプレート> <div class="filter">{{時間 | フォーマット('YYYY-MM-DD HH:MM:SS')}}</div> </テンプレート> <スクリプト> エクスポートデフォルト{ データ(){ 戻る { 時刻:'2019-11-19T04:32:46Z' } } } </スクリプト> 要約するVue フィルターの実装と適用シナリオに関するこの記事はこれで終わりです。より関連性の高い Vue フィルターの実装と適用コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Navicat による MySQL パーティショニングの実践
>>: Windows システムに VirtualBox と Ubuntu 16.04 をインストールするための詳細なチュートリアル
1. MySQLが以前にインストールされていたかどうかを確認するコマンド: rpm -qa|grep...
Windows に mysql5.7.18zip バージョンをインストールするには、使用前に解凍し...
1. ホット デプロイメント: コンテナの実行中にプロジェクト全体を再デプロイすることを意味します。...
1. 内部結合クエリの概要内部結合は、アプリケーションで非常に一般的な結合操作であり、通常はデフォ...
序文hover疑似クラスが要素に境界線を追加すると、要素内のコンテンツがずれることがあります。box...
React Native は、プルアップとプルダウンの監視ジェスチャを実装します。詳細なコアコードは...
目次1. 読みやすいコード1. 統一コード形式2. マジックナンバーを削除する3. 単一機能原則2....
商品を検索するときに、すべてのブランドまたは一部のブランドを表示するTaobaoの機能を真似してみま...
記事のタイトルが「模造虫眼鏡」なのはなぜですか?今日お話ししたいのは、一般的に言われているような、マ...
環境ホストIP 192.168.0.9 Docker バージョン 19.03.2 docker-co...
インターネット上には Linux サーバーを監視するためのツール、コンポーネント、プログラムが多数あ...
大きな箱の中に写真があります。マウスをその上に置くと、半透明のマスク レイヤーが表示されます。マウス...
1. 基本概念 //任意のコンテナを Flex レイアウトとして指定できます。 。箱{ ディスプレイ...
まあ、あなたはデザインの達人かもしれませんし、あるいはそれは大げさすぎるかもしれませんが、少なくとも...
目次SQLを理解するSELECTを理解するエイリアス定数をクエリし、固定定数列を追加します。重複行を...