过滤器介绍

本文介绍了如何在Vue应用中使用filter功能,展示了如何定义和使用时间格式化过滤器(如fmttime和timeFormater),以及如何传递参数并串联多个过滤器。通过实例演示了如何将时间戳转化为易读格式,并演示了字符串切片操作(如mySlice)。

定义:对要显示的数据进行特定格式化后再显示(适用于一下简单逻辑的处理)

语法:

1.注册过滤器:Vue.filter(name,callback)或new Vue(filters:{})

2.使用过滤器:{{XXX | 过滤器名}} 或 v-bind:属性 = "xxx | 过滤器名"

备注:

1.过滤器也可以接收额外参数,多个过滤器也可以串联

2.没有改变原本的数据,是产生新的对应的数据

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8"/>
		<title>过滤器</title>
		<script type="text/javascript" src="../js/vue.js">
		</script>
		<script type="text/javascript" src="../js/dayjs.min.js">
		</script>
	</head>
	<body>
        <!-- 容器 -->
        <div id="root">
            <h2>显示格式化后时间</h2>
			<!-- 计算属性 -->
			<h3>现在是{{fmttime}}</h3>
			<!-- methods -->
			<h3>现在是{{getfmttime()}}</h3>
			<!-- 过滤器实现-->
			<h3>现在是{{time | timeFormater}}</h3>
			<!-- 过滤器实现 传参-->
			<h3>现在是{{time | timeFormater('YYYY_MM_DD') | mySlice}}</h3>
			<h3 :x="msg | mySlice">尚硅谷</h3>
        </div>
        
		<div id="root2">
			<h2>{{msg | mySlice}}</h2>
		</div>
		<script type="text/javascript" >
        Vue.config.productionTip = false
		Vue.filter('mySlice',function(value){
				return value.slice(0,4)
			
		})
        new Vue({
			el:'#root',
			data:{
				time:1647768796,
				msg:'你好,尚硅谷'
			},
			computed:{
				fmttime(){
					return dayjs(this.time).format('YYYY年MM月DD日 HH:mm:ss')
				}
			},
			methods:{
				getfmttime(){
					return dayjs(this.time).format('YYYY年MM月DD日 HH:mm:ss')
				}
			},
			//局部过滤器
			filters:{
				timeFormater(value,str='YYYY年MM月DD日 HH:mm:ss'){
					return dayjs(value).format(str)
				},
				//mySlice(value){
					//return value.slice(0,4)
				//}
			}
		})

		new Vue({
			el:"#root2",
			data:{
				msg:'hellohhhhh'
			}
		})

        </script>
	</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值