071: vueでのフィルターの使い方(画像とテキストの例)

ここに画像の説明を挿入します

No.071

ビュー列ディレクトリ: VUE ------ 要素 UI


列の目標

このコラムでは、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 表达式的尾部,由“管道”符号(|)表示

使用手順は次のとおりです。

  1. フィルターを定義する: Vue インスタンスまたはコンポーネントのフィルター属性で関数を定義します。この関数はパラメーター (フィルター処理が必要なテキスト) を受け取り、フィルター処理されたテキストを返します。

  2. テンプレートでフィルターを使用する: フィルターを使用する必要がある場合は、式の後にフィルターの名前をパイプ文字 (|) で区切って追加します。

レンダリングの例

ここに画像の説明を挿入します

サンプルソースコード

/*
* @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 は日付文字列をローカルの日付形式にフォーマットするために使用されます。次に、テンプレート内でこれらのフィルターをメッセージ、価格、および日付のデータ属性に適用して、対応するテキスト処理関数を実装しました。

おすすめ

転載: blog.csdn.net/cuclife/article/details/136054291
071