vue.js — 格式化时间、获取焦点事件

本文介绍如何在Vue.js中使用全局和局部过滤器格式化日期时间,并展示了自定义指令实现输入框自动获取焦点及设置字体大小的方法。

vue.js — 格式化时间、获取焦点事件

今天记录一下 vue.js 里面的格式化时间和获取焦点时间。

  1. 格式化时间
    定义格式化时间的全局过滤器:
<div id="app">
	<h3> {{ dt | dateFormat}}</h3>
</div>
<script>
	Vue.filter("dateFormat",function(dateStr,pattern=""){
		var dt = new Date(dateStr)
		var y = dt.getFullYear()
		var m = (dt.getMonth() + 1).toString().padStart(2,"0")
		var d = dt.getDay().toString().padStart(2,"0")
		if(pattern.toLowerCase() === "yyyy-mm-dd"){
		return `${y}-${m}-${d}`
	}
	else{
		var hh = dt.getHours().toString().padStart(2,"0")
		var mm = dt.getMinutes().toString().padStart(2,"0")
		var ss = dt.getSeconds().toString().padStart(2,"0")
		return `${y}-${m}-${d}-${hh}:${mm}:${ss}`
	}
})
</script>

2.定义格式化时间的局部过滤器:

<div id="app">
	<h3>{{dt | }}</h3>
</div>
<script>
	var vm =new Vue({
		el:"#app",
		data:{
			dt:new Date()
		},
		methods:{},
		filters:{
			dateFormat:function(dateStr,pattern=""){
			var dt = new Date(dateStr)
			var y = dt.getFullYear()
			var m = (dt.getMonth()+1).toString().padStart(2,"0")
			var d = dt.getDay().toString().padStart(2,"0")
			if(pattern.toLowerCase() === "yyyy-mm-dd"){
				return `${y}-${m}-${d}`
				}
				else{
					var hh = dt.getHours().toString().padStart(2,"0")
					var mm = dt.getMiuntes().toString().padStart(2,"0")
					var ss = dt.getSeconds().toString().padStart(2,"0")
					return `${y}-${m}-${d}-${hh}:${mm}:${ss}`
				}
			}
		}
	})
</script>
  1. 自定义指令——获取焦点
    定义一个全局的获取焦点指令
<div id ="app">
<input type ="text" v-focus ></input>
</div>
<script>
Vue.directive("focus",{
	bind:function(el){	},
	inserted:function(el){
		el.focus()
	},
	updated:function(el){ }
})
	var vm =new Vue({
		el:"#app",
		data:{
			
		},
		methods:{},
		
	})
</script>
  1. 自定义一个私有的指令
    自定义一个设置字体大小的指令
<div id ="app">
   <input type="text" fontsize="70">hello world</input>
</div>
<script>
   var vm =new Vue({
   	el:"#app",
   	data:{ },
   	methods:{},
   	directives:{
   		"fontsize":function(el,binding){
   			el.style.fontSize=parseInt(binding.value)+"px"
   		}
   	}
   })
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值