列の目標
このコラムでは、vue と要素 UI の共同テクノロジー スタックの制御の下で、柔軟な使用のための効果的なソース コードの例と情報ポイントの紹介を提供します。
vue2 のいくつかの基本操作を提供します: インストール、参照、テンプレートの使用、計算、監視、ライフサイクル (beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy、destroyed、activated、deactivated、errorCaptured、components、)、$root、 $parent 、 $children 、 $slots 、 $refs 、 props、 $emit 、eventbus 、provide / inject、Vue.observable、$listeners、$attrs、$nextTick 、 v-for、v-if、v-else、v- else-if、v-on、v-pre、v-cloak、v-once、v-model、v-html、v-text、キープアライブ、スロットスコープ、フィルター、v-bind、.stop、.ネイティブ、ディレクティブ、ミックスイン、レンダリング、国際化、Vue Router など。
この記事の内容
フィルターの紹介
Vue.js のフィルターはテキストを処理するためのカスタム関数であり、テンプレートで直接使用できます。フィルターは 2 つの場所で使用できます双花括号插值和 v-bind 表达式
。过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符号(|)表示
。
使用手順は次のとおりです。
-
フィルターを定義する: Vue インスタンスまたはコンポーネントのフィルター属性で関数を定義します。この関数はパラメーター (フィルター処理が必要なテキスト) を受け取り、フィルター処理されたテキストを返します。
-
テンプレートでフィルターを使用する: フィルターを使用する必要がある場合は、式の後にフィルターの名前をパイプ文字 (|) で区切って追加します。
レンダリングの例
サンプルソースコード
/*
* @Author: 大剑师兰特(xiaozhuanlan),还是大剑师兰特(CSDN)
* @此源代码版权归大剑师兰特所有,可供学习或商业项目中借鉴,未经授权,不得重复地发表到博客、论坛,问答,git等公共空间或网站中。
* @Email: [email protected]
* @weixin: gis-dajianshi
* @First published in CSDN
* @First published time: 2024-02-06
*/
<template>
<div class="djs-box">
<div class="topBox">
<h3>vue中filters的使用方法(图文示例)</h3>
<div>大剑师兰特, 还是大剑师兰特,gis-dajianshi</div>
</div>
<div class="dajianshi">
<p>变化前:{
{
message}} , filter变化后:{
{
message | capitalize }}</p>
<p>变化前:{
{
price }} ,filter变化后:{
{
price | currency }}</p>
<p>变化前:{
{
date }} ,filter变化后:{
{
date | formatDate }}</p>
</div>
</div>
</template>
<script>
export default {
data() {
return{
message: 'hello world',
price: 1234.56,
date: '2022-01-01'
}
},
filters: {
capitalize: function(value) {
if (!value) return '';
value = value.toString();
return value.charAt(0).toUpperCase() + value.slice(1);
},
currency: function(value) {
if (!value) return '';
return '¥' + value.toFixed(2);
},
formatDate: function(value) {
if (!value) return '';
return new Date(value).toLocaleDateString();
}
}
}
</script>
<style scoped>
.djs-box {
width: 1000px;
height: 650px;
margin: 50px auto;
border: 1px solid teal;
}
.topBox {
margin: 0 auto 0px;
padding: 10px 0 20px;
background: teal;
color: #fff;
}
.dajianshi {
width: 98%;
height: 420px;
margin: 5px auto 0;
border:1px solid #369;
padding-top: 100px;
}
p{
font-size: 30px;}
</style>
この例では、我们定义了三个过滤器:capitalize、currency 和 formatDate
. Capitalize はテキストの最初の文字を大文字にするために使用され、currency は数値を RMB 形式に変換するために使用され、formatDate は日付文字列をローカルの日付形式にフォーマットするために使用されます。次に、テンプレート内でこれらのフィルターをメッセージ、価格、および日付のデータ属性に適用して、対応するテキスト処理関数を実装しました。