ガイド
基本的な使い方
- インストール
- はじめに
- Vue インスタンス
- テンプレート構文
- 算出プロパティとウォッチャ
- クラスとスタイルのバインディング
- 条件付きレンダリング
- リストレンダリング
- イベントハンドリング
- フォーム入力バインディング
- コンポーネントの基本
コンポーネントの詳細
- コンポーネントの登録
- プロパティ
- カスタムイベント
- スロット
- 動的 & 非同期コンポーネント
- 特別な問題に対処する
トランジションとアニメーション
- Enter/Leave とトランジション一覧
- 状態のトランジション
再利用と構成
- ミックスイン
- カスタムディレクティブ
- 描画関数とJSX
- プラグイン
- フィルター
ツール
- 単一ファイルコンポーネント
- テスト
- TypeScript のサポート
- プロダクション環境への配信
スケールアップ
- ルーティング
- 状態管理
- サーバサイドレンダリング
- セキュリティ
内部
- リアクティブの探求
移行
- Vue 1.x からの移行
- Vue Router 0.7.x からの移行
- Vuex 0.6.x から 1.0 への移行
その他
- 他のフレームワークとの比較
- Vue.js コミュニティへ参加しましょう!
- チームに会おう
v2.x 以前のドキュメントです。 v3.x のドキュメントを見たい場合はこちら
フィルター
最終更新日: 2019年7月8日
Vue.js では、一般的なテキストフォーマットを適用するために使用できるフィルタを定義できます。フィルタは、mustache 展開と v-bind
式、2 つの場所で使用できます(後者は2.1.0以降でサポートされています)。フィルタは JavaScript 式の末尾に追加する必要があります。これは “パイプ(‘|’)” 記号で表されます。
<!-- mustaches -->
{{ message | capitalize }}
<!-- v-bind -->
<div v-bind:id="rawId | formatId"></div>
コンポーネントのオプション内でローカルフィルタを定義できます:
filters: {
capitalize: function (value) {
if (!value) return ''
value = value.toString()
return value.charAt(0).toUpperCase() + value.slice(1)
}
}
もしくは Vue インスタンスを作成する前にグローバルでフィルタを定義することもできます:
Vue.filter('capitalize', function (value) {
if (!value) return ''
value = value.toString()
return value.charAt(0).toUpperCase() + value.slice(1)
})
new Vue({
// ...
})
グローバルフィルタがローカルフィルタと同じ名前をもつ場合、ローカルフィルタが優先されます。
以下は capitalize
フィルタの使用例です。
{{ message | capitalize }}
フィルタ関数は常に式の値(前のチェーンの結果)を第一引数として受け取ります。この例では、 capitalize
フィルタ関数は引数として message
の値を受け取ります。
フィルタは連結できます:
{{ message | filterA | filterB }}
この場合、単一の引数で定義された filterA
は message
の値を受け取り、filterB
の単一引数に filterA
の結果を渡して filterB
関数が呼び出されます。
フィルタは JavaScript 関数なので、引数を取ることができます:
{{ message | filterA('arg1', arg2) }}
ここで filterA
は3つの引数をとる関数として定義されています。message
の値は最初の引数に渡されます。プレーン文字列 'arg1'
は、第2引数として filterA
に渡されます。そして、式 arg2
の値が評価され、第3引数としてフィルタに渡されます。