You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							60 lines
						
					
					
						
							1.8 KiB
						
					
					
				
			
		
		
	
	
							60 lines
						
					
					
						
							1.8 KiB
						
					
					
				<!DOCTYPE html> | 
						|
<html lang="en"> | 
						|
<head> | 
						|
    <meta charset="UTF-8"> | 
						|
    <title>过滤器</title> | 
						|
    <script type="text/javascript" src="../vue.js"></script> | 
						|
    <script src="https://cdn.bootcdn.net/ajax/libs/dayjs/1.11.7/dayjs.min.js"></script> | 
						|
</head> | 
						|
<body> | 
						|
<div id="root"> | 
						|
    <h2>显示格式化后的时间</h2> | 
						|
    <!--    计算属性实现--> | 
						|
    <h3>计算属性实现:{{formatDatetime}}</h3> | 
						|
    <!--    方法实现--> | 
						|
    <h3>方法实现:{{fmtDatetime()}}</h3> | 
						|
    <!--    过滤器实现--> | 
						|
    <h3>过滤器实现1:{{time | formatDt}}</h3> | 
						|
    <!--    过滤器传参--> | 
						|
    <h3>过滤器实现2:{{time | formatDt('YYYY_MM_DD')}}</h3> | 
						|
    <!--    多过滤器--> | 
						|
    <h3>多过滤器实现:{{time | formatDt('YYYY_MM_DD') | yearSlice}}</h3> | 
						|
    <!--    全局过滤器--> | 
						|
    <h3>全局过滤器:{{time | formatDt('YYYY_MM_DD') | globalSlice}}</h3> | 
						|
    <!--    绑定时使用过滤器--> | 
						|
    <h3 :t="time | formatDt">绑定时使用过滤器:F12</h3> | 
						|
</div> | 
						|
 | 
						|
</body> | 
						|
<script type="text/javascript"> | 
						|
    Vue.config.productionTip = false | 
						|
    // 全局过滤器 | 
						|
    Vue.filter('globalSlice', function (val) { | 
						|
        return val.slice(0, 4) | 
						|
    }) | 
						|
    const vm = new Vue({ | 
						|
        el: '#root', | 
						|
        data: { | 
						|
            time: Date.now() | 
						|
        }, | 
						|
        methods: { | 
						|
            fmtDatetime() { | 
						|
                return dayjs(this.time).format("YYYY年MM月DD日 HH:mm:ss") | 
						|
            } | 
						|
        }, | 
						|
        computed: { | 
						|
            formatDatetime() { | 
						|
                return dayjs(this.time).format("YYYY-MM-DD HH:mm:ss") | 
						|
            } | 
						|
        }, | 
						|
        filters: { | 
						|
            formatDt(val, fmt_str = "YYYY_MM_DD HH:mm:ss") { | 
						|
                return dayjs(val).format(fmt_str) | 
						|
            }, | 
						|
            yearSlice(val) { | 
						|
                return val.slice(0, 4) | 
						|
            } | 
						|
        } | 
						|
    }) | 
						|
</script> | 
						|
</html> |