この記事では主に Vue2.0 シリーズのフィルターの使い方を紹介しますので、参考にしてください。
vue2.0 ではフィルターが廃止され、いくつかの一般的なテキスト書式設定にはカスタム フィルターが必要です。
とても使いやすいです! !
フィルターは、二重中括弧補間と v-bind 式の 2 つの場所で使用できます。
フィルターは、パイプ文字で示される JavaScript 式の最後に追加する必要があります。
1. グローバル フィルターを登録します
注:
1. グローバル メソッド Vue.filter() はカスタム フィルターを登録し、フィルター関数は常に vue インスタンス化の前に配置する必要があります。式の値は最初のパラメーターとして使用され、引用符付きのパラメーターは文字列として扱われ、引用符のないパラメーターは式として計算されます
3。これら 2 つのフィルターの処理が競合しない限り、2 つのフィルター パラメーターを設定できます。 4. ユーザーが入力から入力したデータは、モデルに送信される前に処理することもできます
Case
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <!DOCTYPE html>
<html lang= "en" >
<head>
<meta charset= "UTF-8" >
<title>过滤器</title>
</head>
<body>
<p id= "app" >
<!-- 首字符串大写 -->
<p>首字母大写过滤器:{{str | upcase}}</p>
<!-- 给过滤器传入参数 -->
<p>求和过滤器:{{message | sum(10,20)}}</p>
</p>
<script type= "text/javascript" src='https:
<script type= "text/javascript" >
Vue.filter( "upcase" , function (value) {
if (!value) return ''
value = value.toString()
return value.charAt(0).toUpperCase() + value.slice(1)
});
Vue.filter('sum', function (value, a, b) {
return value + a + b;
});
var demo = new Vue({
el: "#app" ,
data: {
str:'hello',
message:12
}
});
</script>
</body>
</html>
|
ログイン後にコピー
Case 効果:

2. インスタンス化内に登録します フィルターは次のことができますインスタンス内では、それを使用しているインスタンス内でのみ登録されます。
上記のケースから適応:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | <!DOCTYPE html>
<html lang= "en" >
<head>
<meta charset= "UTF-8" >
<title></title>
</head>
<body>
<p id= "app" >
<!-- 首字符串大写 -->
<p>首字母大写过滤器:{{str | upcase}}</p>
<!-- 给过滤器传入参数 -->
<p>求和过滤器:{{message | sum(10,20)}}</p>
</p>
<script type= "text/javascript" src='https:
<script type= "text/javascript" >
var demo = new Vue({
el: "#app" ,
data: {
str:'hello',
message:12
},
filters: {
upcase: function (value){
if (!value) return ''
value = value.toString()
return value.charAt(0).toUpperCase() + value.slice(1)
},
sum: function (value, a, b){
return value + a + b;
}
}
});
</script>
</body>
</html>
|
ログイン後にコピー
効果:

3. 共通フィルター タイムスタンプに基づいて時刻形式に変換: mm-dd hh:tt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <!DOCTYPE html>
<html lang= "en" >
<head>
<meta charset= "UTF-8" >
<title></title>
</head>
<body>
<p id= "app" >
<!-- 将时间戳转化为时间 -->
<h1>根据时间戳转化为时间:{{ str | formateTime}}</h1>
</p>
<script type= "text/javascript" src='https:
<script type= "text/javascript" >
var demo = new Vue({
el: "#app" ,
data: {
str:1517568434324,
},
filters: {
formateTime: function (nS){
return (( new Date (nS).getMonth()+1)<10?'0'+( new Date (nS).getMonth()+1):( new Date (nS).getMonth()+1)) + '-' + ( new Date (nS). getDate ()<10?'0'+ new Date (nS). getDate (): new Date (nS). getDate ()) + ' ' + ( new Date (nS).getHours()<10?'0'+ new Date (nS).getHours(): new Date (nS).getHours()) + ':' + ( new Date (nS).getMinutes()<10?'0'+ new Date (nS).getMinutes(): new Date (nS).getMinutes())
}
}
});
</script>
</body>
</html>
|
ログイン後にコピー
ケースの効果:
上記をあなたのためにまとめました。将来お役に立てば幸いです。
関連記事:
vue.jsのタグ属性に可変パラメータを挿入する方法について(詳細チュートリアル)
Vueでコンポーネントの外側をクリックしてコンポーネントを閉じる方法について(詳細チュートリアル)
詳細は、vue ビルドがパッケージ化された後のホームページの白い画面の問題を解決します (詳細なチュートリアル)
以上がVue2.0シリーズでフィルターを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。