vue filters 是什么?怎么使用?

vue filters 是什么?怎么使用?vuefilters是什么?首先:filter翻译成中文是过滤器的意思。而在Vue中作用其实就是对字段进行预处理怎么使用呢?就用一个小Demo,讲解一下!目的:对字段进行处理,打印出“Helloworld!!!”首先,打印出“Helle”<template> <view> {{demo}} </view></template…

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

vue filters 是什么?

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

怎么使用呢?

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

<template>
	<view>
		 {
  
  {demo}}
	</view>
</template>

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

		},
		methods: {

		}
	}
</script>

<style>
	 
</style>

结果在页面上打印出了:
在这里插入图片描述
接下来,添加filters,把“world”添加上去:

filters:{
	sayHello(demo){
		return demo+" world!!!"
	}
},

最后调用filters方法:

{
  
  {demo | sayHello}}

页面上就打印出我们想要的“Hello world!!!”
在这里插入图片描述
实现很easy!

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

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

userArray: [
	{name:"张三",gender:1},
	{name:"李四",gender:2},
	{name:"王五",gender:0},
	{name:"赵六",gender:2}
]

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

页面代码:

<view v-for="(item,index) in userArray" v-bind:key="index">
	姓名:{
  
  {item.name}} 性别:{
  
  {item.gender}}
 </view>

js代码

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,这样处理:
页面代码:

<view v-for="(item,index) in userArray" v-bind:key="index">
			 姓名:{
  
  {item.name }} 性别:{
  
  {item.gender | genderZH}}
</view>

js代码:

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是一样的。
这里就不示例了,感兴趣的可以自己动手写一写!
完整代码如下:

<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.net/143460.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • AWVS10.5&12超详细使用教程

    AWVS10.5&12超详细使用教程AWVS介绍awvs

    2025年5月27日
    0
  • mysql报错1396_mysql连接不上数据库

    mysql报错1396_mysql连接不上数据库我似乎无法重新创建一个已删除的简单用户,即使以root用户身份在MySQL中也是如此。我的情况是:用户’jack’曾经存在,但是我从mysql.user中删除了它以重新创建它。我在那张桌子上看不到任何痕迹。如果我对其他随机用户名(例如“jimmy”)执行此命令,则该命令会正常工作(就像最初对“jack”所做的一样)。我已经做了些什么来破坏用户“jack”,以及如何撤销该破坏,以便重新创建“…

    2022年8月12日
    3
  • latex 公式换行的命令

    latex 公式换行的命令2019独角兽企业重金招聘Python工程师标准>>>…

    2022年6月10日
    37
  • linux 软件脱壳机,关于UPX脱壳后程序无法运行

    linux 软件脱壳机,关于UPX脱壳后程序无法运行如何实现upx的脱壳(请详细说明步骤和软件)?upx关于脱壳的命令格式如下:upx-d要脱壳的文件如:UPX-d132.EXEpEID里有个通用脱壳机,可以试试而且手工找入口点也是很简单的找pushad对应的Popad,在popad旁的跳转命令就是跳到文件的原入口点了啊D壳UPX0.89.6-1.02/1.05-1.24(Delphi)stub->Marku…

    2022年7月13日
    18
  • 深挖洞广积粮不称霸_threadlocal源码

    深挖洞广积粮不称霸_threadlocal源码ThreadLocal是什么早在JDK1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它

    2022年9月8日
    1
  • NVIDIA英伟达GPU显卡算力一览(包含Tesla和GeForce、TITAN及RTX系列等)

    NVIDIA英伟达GPU显卡算力一览(包含Tesla和GeForce、TITAN及RTX系列等)英伟达 GPU 算力一览官方说明在 GPU 算力高于 5 0 时 此计算机可以用来跑神经网络 而在 CSDN 和网页上查找 GPU 算力时 没有一个比较全面的博客对目前的显卡算力做统计 而且英伟达官网链接打开真的谜一样 很慢或者直接打不开 所以用这篇博客记录一下截至到 2020 8 27 一部分主流供深度学习的 GPU 的算力 NVIDIA 官方查找 GPU 算力的网址 https developer nvidia com cuda gpus 此外 目前主流的游戏本显卡 1650 1660 以及 1660Ti 等并未出现在官网的算力表中

    2025年7月30日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号