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

vue filters 是什么?怎么使用?

作者头像
全栈程序员站长
发布于 2022-08-31 03:06:52
发布于 2022-08-31 03:06:52
44900
代码可运行
举报
运行总次数: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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【前端面考面试官系列】入门Vue全家桶
达达回答:Vue的安装可以从两个方面进行安装,第一种是CDN引入,第二种是NPM安装。
达达前端
2020/02/18
8970
【前端面考面试官系列】入门Vue全家桶
谷粒商城—分布式基础(Vue篇)
v-xx:指令 1、创建vue实例,关联页面的模板,将自己的数据(data)渲染到关联的模板,响应式的 2、指令来简化对dom的一些操作。 3、声明方法来做更复杂的操作。methods里面可以封装方法。
OY
2022/03/20
1.1K0
谷粒商城—分布式基础(Vue篇)
Web前端-Vue.js必备框架(一)
什么是Vue.js?是目前最火的框架,React是最流行的框架,打包工具Webpack,目前三大主流Vue.js,Angular.js,React.js框架。
达达前端
2019/07/03
4.1K0
Web前端-Vue.js必备框架(一)
【VUE】基础用法(属性与事件的绑定,条件渲染等)
在填写表单时,双向数据绑定可以辅助开发者在不操作DOM的前提下,自动把用户填写的内容同步到数据源中。
坚毅的小解同志的前端社区
2022/12/13
1.7K0
【VUE】基础用法(属性与事件的绑定,条件渲染等)
vue之插值表达式
使用{{}}方式在网速较慢时会出现问题。在数据未加载完成时,页面会显示出原始的`{{}}`, 加载完毕后才显示正确数据,我们称为插值闪烁。 我们将网速调慢一些,然后刷新页面,试试看刚才的案例: 
一个风轻云淡
2022/11/15
2K0
vue之插值表达式
【编程鹿】学Vue.js这一篇就够了「万字学会|通俗易懂」上篇
在MVVM之前,开发人员从后端获取需要的数据模型,然后要通过DOM操作Model渲染到View中。而后当用户操作视图,我们还需要通过DOM获取View中的数据,然后同步到Model中。
鹿老师的Java笔记
2020/12/02
12.7K0
【编程鹿】学Vue.js这一篇就够了「万字学会|通俗易懂」上篇
【前端大神面考面试官系列】入门Vue全家桶
达达回答:Vue的安装可以从两个方面进行安装,第一种是CDN引入,第二种是NPM安装。
达达前端
2022/04/13
1.3K0
【前端大神面考面试官系列】入门Vue全家桶
第一章 : Vue2 技术精讲
① 对象 → 键就是类名,值是布尔值。如果值为 true,有这个类,否则没有这个类
捞月亮的小北
2023/12/01
2550
第一章 : Vue2 技术精讲
uni-app实战之社区交友APP(7)消息页开发
本文主要介绍了消息也的开发,主要包括3部分: 消息列表页开发,包括页面配置、消息列表组件的开发和封装、下拉刷新功能和下拉弹出层组件的使用; 我的好友列表页开发,包括页面配置、导航组件开发、好友列表组件开发和封装、以及性别图标显示; 聊天页面开发,包括页面配置、输入框组件开发、聊天列表组件的开发和封装、以及聊天页功能完善。
cutercorley
2021/02/04
2.3K0
uni-app实战之社区交友APP(7)消息页开发
Vue 快速入门(四)
msg.reserseMsg依赖于 msg.message,在 msg.message 发生改变时,msg.reserseMsg也会更新。
全栈测试开发日记
2023/03/06
5810
Vue 快速入门(四)
Vue cli入门 原
最近看到一个vue cli入门的例子,写的非常详细,对入门vue cli很有帮助,原文链接
tianyawhl
2019/04/04
5530
Vue cli入门
                                                                            原
【Vue #2】脚手架 & 指令
在 构建工具(Vite/Webpack )环境下开发Vue,这是最推荐的、也是企业采用的方式
IsLand1314
2025/04/11
1390
【Vue #2】脚手架 & 指令
JavaScript-Vue
通过我们学习的html+css+js已经能够开发美观的页面了,但是开发的效率还有待提高,那么如何提高呢?我们先来分析下页面的组成。一个完整的html页面包括了视图和数据,数据是通过请求 从后台获取的,那么意味着我们需要将后台获取到的数据呈现到页面上,很明显, 这就需要我们使用DOM操作。正因为这种开发流程,所以我们引入了一种叫做MVVM(Model-View-ViewModel)的前端开发思想,即让我们开发者更加关注数据,而非数据绑定到视图这种机械化的操作。那么具体什么是MVVM思想呢?
张哥编程
2024/12/13
1660
JavaScript-Vue
vue快速学习02、基础用法
vue快速学习02、基础用法 目录 vue快速学习02、基础用法 1、数据双向绑定 2、数据绑定 3、钩子函数 4、created函数用法1 5、created函数用法2 6、filters过滤器 7、v-once与v-text 8、数据计算 9、数据绑定 10、样式控制1 11、样式控制2 12、v-if 14、v-on 15、watch 16、v-for 17、computed 18、table增加操作 19、table删除操作 20、table修改 21、template 22、componen
红目香薰
2022/11/30
1K0
vue快速学习02、基础用法
vue-cli学习笔记 基础知识篇
减少模板中的计算逻辑 进行数据缓存 依赖固定的数据类型(响应式数据)
JokerDJ
2023/11/27
1730
vue-cli学习笔记 基础知识篇
Vue-QuickStarted
概念:指令(Directives)是 Vue 提供的带有 v- 前缀 的 特殊 标签属性。
用户11097514
2024/05/31
2010
Vue-QuickStarted
Blazor-选择&循环语句
下面我们以一个简单的例子来讲解相关的语法,我已经创建好了一个Student类,以此类来进行语法的运用
MaybeHC
2025/01/25
580
Blazor-选择&循环语句
【Vue】手拉手带你走进Vue大门(概念&指令)
组件化:一个组件会包含(HTML+CSS+JS) 把一个完整的页面拆分成多个组件构成。(.vue)
且陶陶
2023/04/12
4170
【Vue】手拉手带你走进Vue大门(概念&指令)
Vue快速入门
迫于无奈还得学下前端的东西,虽然本人学的是后端,但是很早也就听过了Vue很火,所以这里花一天时间学一些基础的Vue知识,至少保证能看懂吧!
全栈程序员站长
2022/08/19
8530
Vue快速入门
Vue 相关学习笔记(一)
可能有安全问题, 一般只在可信任内容上使用 v-html,永不用在用户提交的内容上
用户6808043
2022/02/24
7.7K0
Vue 相关学习笔记(一)
相关推荐
【前端面考面试官系列】入门Vue全家桶
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档