071:vue中过滤器filters的使用方法(图文示例)

在这里插入图片描述

第071个

查看专栏目录: VUE ------ element UI


专栏目标

在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。

提供vue2的一些基本操作:安装、引用,模板使用,computed,watch,生命周期(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, keep-alive,slot-scope, filters, v-bind,.stop, .native, directives,mixin,render,国际化,Vue Router等

Filter介绍

Vue.js 中的过滤器(Filter)是一种用于处理文本的自定义函数,可以在模板中直接使用。过滤器可以用在两个地方:双花括号插值和 v-bind 表达式过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符号(|)表示

使用步骤如下:

  1. 定义过滤器:在 Vue 实例或组件的 filters 属性中定义一个函数,该函数接收一个参数(需要过滤的文本),并返回过滤后的文本。

  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 用于将数字转换为人民币格式;formatDate 用于将日期字符串格式化为本地日期格式。然后在模板中,我们将这些过滤器应用到了 message、price 和 date 数据属性上,实现了相应的文本处理功能。

猜你喜欢

转载自blog.csdn.net/cuclife/article/details/136054291