Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >vue filters 是什么?怎么使用?

vue filters 是什么?怎么使用?

作者头像
全栈程序员站长
发布于 2022-08-31 03:06:52
发布于 2022-08-31 03:06:52
45600
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

vue filters 是什么?

首先:filter翻译成中文是过滤器的意思。 而在Vue中作用其实就是对字段进行预处理

怎么使用呢?

就用一个小Demo,讲解一下! 目的:对字段进行处理,打印出“Hello world!!!” 首先,打印出“Helle”

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<template>
	<view>
		 {
  
  {demo}}
	</view>
</template>

<script>
	export default {
		data() {
			return {
				demo: 'Hello'
			}
		},
		onLoad() {

		},
		methods: {

		}
	}
</script>

<style>
	 
</style>

结果在页面上打印出了:

接下来,添加filters,把“world”添加上去:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
filters:{
	sayHello(demo){
		return demo+" world!!!"
	}
},

最后调用filters方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  
  {demo | sayHello}}

页面上就打印出我们想要的“Hello world!!!”

实现很easy!

那么什么情况下会用到呢?

如果像demo这样使用,有点多此一举的感觉!!(确实) 实际项目中,常常会遇到这种array,如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
userArray: [
	{name:"张三",gender:1},
	{name:"李四",gender:2},
	{name:"王五",gender:0},
	{name:"赵六",gender:2}
]

这里的gender,需要按1:男,2:女,0:未知 显示在最终的页面上。 如果不用filters,需要循环处理下userArray:

页面代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<view v-for="(item,index) in userArray" v-bind:key="index">
	姓名:{
  
  {item.name}} 性别:{
  
  {item.gender}}
 </view>

js代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
this.userArray.forEach(item=>{
	switch(item.gender){
		case 0:
			item.gender = "未知"
			break
		case 1:
			item.gender = "男"
			break
		case 2:
			item.gender = "女"
			break
		default:
			item.gender = "未知"
			break
	}  
}) 

而用filters,这样处理: 页面代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<view v-for="(item,index) in userArray" v-bind:key="index">
			 姓名:{
  
  {item.name }} 性别:{
  
  {item.gender | genderZH}}
</view>

js代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
filters:{
	genderZH(gender){
		switch(gender){
			case 0:
				gender = "未知"
				break
			case 1:
				gender = "男"
				break
			case 2:
				gender = "女"
				break
			default:
				gender = "未知"
				break
		} 
		return gender
	}
}

最终的效果:

好像这么做,区别也不是很大啊? 那么,如果现在有studentArray,teacherArray 两个array呢?或者更多呢? 如果不用filters,是不是有多少个array就得写多少个forEach方法 而用filters,多个array跟一个array是一样的。 这里就不示例了,感兴趣的可以自己动手写一写! 完整代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<template>
	<view>
		 <!-- 不用filters -->
		 <!-- <view v-for="(item,index) in userArray" v-bind:key="index">
			 姓名:{
  
  {item.name}} 性别:{
  
  {item.gender}}
		 </view> -->
		 <view v-for="(item,index) in userArray" v-bind:key="index">
		 			 姓名:{
  
  {item.name }} 性别:{
  
  {item.gender | genderZH}}
		 </view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				userArray: [
					{name:"张三",gender:1},
					{name:"李四",gender:2},
					{name:"王五",gender:0},
					{name:"赵六",gender:2}
				]
			}
		},
		filters:{
			genderZH(gender){
				switch(gender){
					case 0:
						gender = "未知"
						break
					case 1:
						gender = "男"
						break
					case 2:
						gender = "女"
						break
					default:
						gender = "未知"
						break
				} 
				return gender
			}
		},
		onLoad() {
			//不用filters
			// this.userArray.forEach(item=>{
			// 	switch(item.gender){
			// 		case 0:
			// 			item.gender = "未知"
			// 			break
			// 		case 1:
			// 			item.gender = "男"
			// 			break
			// 		case 2:
			// 			item.gender = "女"
			// 			break
			// 		default:
			// 			item.gender = "未知"
			// 			break
			// 	}  
			// }) 
		},
		methods: {

		}
	}
</script>

<style>
	 
</style>

end!!!

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143460.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
BZOJ1014: [JSOI2008]火星人prefix(splay 二分 hash)
题意 题目链接 Sol 一眼splay + 二分hash,不过区间splay怎么写来着呀 试着写了两个小时发现死活不对 看了一下yyb的代码发现自己根本就不会splay。。。。 // luogu-judger-enable-o2 #include<bits/stdc++.h> #define ull unsigned long long using namespace std; const int MAXN = 1e6 + 10; const ull base = 27; inline int read(
attack
2018/12/19
5740
洛谷P3380 【模板】二逼平衡树(树套树)
您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:
attack
2018/07/27
9620
Luogu P3203 [HNOI2010]弹飞绵羊 题解
某天,Lostmonkey 发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。
yzxoi
2022/09/19
2190
洛谷P1501 [国家集训队]Tree II(LCT)
题目描述 一棵n个点的树,每个点的初始权值为1。对于这棵树有q个操作,每个操作为以下四种操作之一: + u v c:将u到v的路径上的点的权值都加上自然数c; - u1 v1 u2 v2:将树中原有的边(u1,v1)删除,加入一条新边(u2,v2),保证操作完之后仍然是一棵树; \* u v c:将u到v的路径上的点的权值都乘上自然数c; / u v:询问u到v的路径上的点的权值和,求出答案对于51061的余数。 输入输出格式 输入格式: 第一行两个整数n,q 接下来n-1行每行两个
attack
2018/05/30
4350
LCT学习笔记
最近自学了一下LCT(Link-Cut-Tree),参考了Saramanda及Yang_Zhe等众多大神的论文博客,对LCT有了一个初步的认识,LCT是一种动态树,可以处理动态问题的算法。对于树分治中的树链剖分,只能处理静态的数据或者在轻重链上的边或点的权值,对于其他动态的处理就毫无办法了。因此我们就需要引入LCT这个东西。那么问题来了,LCT到底是什么呢?我弄了很久总算是理解了LCT,打算总结一下LCT的基本操作。 ①浅谈对LCT的初步印象 LCT用来维护动态的森林,以及一些链上操作,是处理节点无序的有根
Angel_Kitty
2018/04/09
1.2K0
LCT学习笔记
洛谷P3871 [TJOI2010]中位数(splay)
题目描述 给定一个由N个元素组成的整数序列,现在有两种操作: 1 add a 在该序列的最后添加一个整数a,组成长度为N + 1的整数序列 2 mid 输出当前序列的中位数 中位数是指将一个序列按照从小到大排序后处在中间位置的数。(若序列长度为偶数,则指处在中间位置的两个数中较小的那个) 例1:1 2 13 14 15 16 中位数为13 例2:1 3 5 7 10 11 17 中位数为7 例3:1 1 1 2 3 中位数为1 输入输出格式 输入格式: 第一行为初始序列长度N。第二行为N个整数,表示整数序列
attack
2018/07/05
4630
各种平衡树
记一下自己写的平衡树 方便以后复制粘贴 题目链接 Vector 最快:284ms 1 #include<cstdio> 2 #include<vector> 3 #include<algorithm> 4 using namespace std; 5 const int MAXN=100005; 6 vector<int>v; 7 int n,opt,x; 8 inline char nc() 9 { 10 static char buf[MAXN],*p1=buf,*p2=buf
attack
2018/04/11
8650
bzoj 3091 & Luogu P4842 城市旅行 题解
对于 100\% 的数据,满足 1<=N<=50,000;1<=M<=50,000;1<=a_i<=10^6;1<=D<=100;1<=U,V<=N
yzxoi
2022/09/19
3020
洛谷P2178 [NOI2015]品酒大会(后缀自动机 线段树)
显然一个串能更新答案的区间是\([len_{fa_{x}} + 1, len_x]\),方案数就相当于是从\(siz_x\)里面选两个,也就是\(\frac{siz_x (siz_x - 1)}{2}\)
attack
2019/03/06
4580
洛谷P3224 [HNOI2012]永无乡
题目描述 永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示。某些岛之间由巨大的桥连接,通过桥可以从一个岛 到达另一个岛。如果从岛 a 出发经过若干座(含 0 座)桥可以到达岛 b,则称岛 a 和岛 b 是连 通的。 现在有两种操作: B x y 表示在岛 x 与岛 y 之间修建一座新桥。 Q x k 表示询问当前与岛 x连通的所有岛中第 k 重要的是哪座岛,即所有与岛 x 连通的岛中重要度排名第 k 小的岛是哪 座,请
attack
2018/04/11
5530
BZOJ1969: [Ahoi2005]LANE 航线规划(LCT)
Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 587  Solved: 259 [Submit][Status][Discuss] Description 对Samuel星球的探险已经取得了非常巨大的成就,于是科学家们将目光投向了Samuel星球所在的星系——一个巨大的由千百万星球构成的Samuel星系。 星际空间站的Samuel II巨型计算机经过长期探测,已经锁定了Samuel星系中许多星球的空间坐标,并对这些星球从1开始编号1、2、3……。 一些先遣飞
attack
2018/05/30
6330
loj#6073. 「2017 山东一轮集训 Day5」距离(树链剖分 主席树)
首先对询问差分一下,我们就只需要统计\(u, v, lca(u, v), fa[lca(u, v)]\)到根的路径的贡献。
attack
2019/04/01
3810
Codeforces 的题目真的值得算法竞赛选手训练吗?
个串,有两种操作,一种是给某个串加一个字符,另一种是求存不存在一个串是查询串的子串。强制在线。
ACM算法日常
2021/11/10
9950
【 Gym - 101138J 】Valentina and the Gift Tree(树链剖分)
n个节点的一棵树,每个节点的权值为g,q个询问,树上的节点U-V,求U到V的路径的最大子段和。
饶文津
2020/06/02
3270
bzoj 2959 长跑 题解
  某校开展了同学们喜闻乐见的阳光长跑活动。为了能“为祖国健康工作五十年”,同学们纷纷离开寝室,离开教室,离开实验室,到操场参加3000米长跑运动。一时间操场上熙熙攘攘,摩肩接踵,盛况空前。   为了让同学们更好地监督自己,学校推行了刷卡机制。   学校中有n个地点,用1到n的整数表示,每个地点设有若干个刷卡机。   有以下三类事件:   1、修建了一条连接A地点和B地点的跑道。   2、A点的刷卡机台数变为了B。   3、进行了一次长跑。问一个同学从A出发,最后到达B最多可以刷卡多少次。具体的要求如下:   当同学到达一个地点时,他可以在这里的每一台刷卡机上都刷卡。但每台刷卡机只能刷卡一次,即使多次到达同一地点也不能多次刷卡。   为了安全起见,每条跑道都需要设定一个方向,这条跑道只能按照这个方向单向通行。最多的刷卡次数即为在任意设定跑道方向,按照任意路径从A地点到B地点能刷卡的最多次数。
yzxoi
2022/09/19
2550
BZOJ2002: [Hnoi2010]Bounce 弹飞绵羊(LCT)
Time Limit: 10 Sec  Memory Limit: 259 MB Submit: 13753  Solved: 6983 [Submit][Status][Discuss] Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹
attack
2018/05/30
4070
洛谷P3391 【模板】文艺平衡树(Splay)(FHQ Treap)
题目背景 这是一道经典的Splay模板题——文艺平衡树。 题目描述 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[2,4]的话,结果是5 2 3 4 1 输入输出格式 输入格式: 第一行为n,m n表示初始序列有n个数,这个序列依次是(1,2, \cdots n-1,n)(1,2,⋯n−1,n) m表示翻转操作次数 接下来m行每行两个数 [l,r][l,r] 数据保证 1 \leq l \leq r \leq
attack
2018/04/11
8320
洛谷P3313 [SDOI2014]旅行(树链剖分 动态开节点线段树)
题意 题目链接 Sol 树链剖分板子 + 动态开节点线段树板子 #include<bits/stdc++.h> #define Pair pair<int, int> #define MP(x, y) make_pair(x, y) #define fi first #define se second //#define int long long #define LL long long #define Fin(x) {freopen(#x".in","r",stdin);} #define Fou
attack
2019/03/01
5410
BZOJ3413: 匹配(后缀自动机 线段树合并)
首先可以转化一下模型(想不到qwq):问题可以转化为统计\(B\)中每个前缀在\(A\)中出现的次数。(画一画就出来了)
attack
2019/03/14
5290
[Atcoder][CF]简单题选做练习笔记 2
第一个式子,要求 p_i \equiv 0 \pmod 3,第二个式子要求 p_i \equiv 1 \pmod 3 且 p_j \equiv 2 \pmod 3 或者反过来。
Clouder0
2022/09/23
4170
相关推荐
BZOJ1014: [JSOI2008]火星人prefix(splay 二分 hash)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验