专栏目标
在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介绍
- 使用步骤如下:
- 示例效果图
- 示例源代码
Filter介绍
Vue.js 中的过滤器(Filter)是一种用于处理文本的自定义函数,可以在模板中直接使用。过滤器可以用在两个地方:双花括号插值和 v-bind 表达式
。过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符号(|)表示
。
使用步骤如下:
-
定义过滤器:在 Vue 实例或组件的 filters 属性中定义一个函数,该函数接收一个参数(需要过滤的文本),并返回过滤后的文本。
-
在模板中使用过滤器:在需要使用过滤器的地方,将过滤器的名称添加到表达式后面,用管道符(|)分隔。
示例效果图
示例源代码
/*
* @Author: 大剑师兰特(xiaozhuanlan),还是大剑师兰特(CSDN)
* @此源代码版权归大剑师兰特所有,可供学习或商业项目中借鉴,未经授权,不得重复地发表到博客、论坛,问答,git等公共空间或网站中。
* @Email: 2909222303@qq.com
* @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 数据属性上,实现了相应的文本处理功能。