Vue2.0 内置指令directives 与全局配置过滤filters

内置指令directives 

除了核心功能默认内置的指令 (例如 v-model 和 v-show),Vue 也允许注册自定义指令。             你仍然需要对普通 DOM 元素进行底层操作,这时候就会用到自定义指令。

 

 

 


<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="./js/vue.js"></script>
	</head>
	<body>
		<div id="app">
			<h1>自定义指令</h1>
			<input type="text" v-focus="flag">
			<button @click.prevent.stop="flag=!flag">改变</button>
		</div>
		<script>
			new Vue({
				el:"#app",
				data(){return {flag:true}},
				directives:{
					// 自己定义v-focus指令
					"focus":{
						// 当被插入时候inserted
						update(el,binding){
							// el指令对应的节点
							// binding.value 指令的值
							console.log(el,binding)
							if(binding.value){
								// 让指令对应的节点获取焦点
								el.focus();
							}
						}
					}
				}
			})
		</script>
	</body>
</html>

全局配置过滤或者管道filters

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="../js/vue.js"></script>
	</head>
	<body>
		<div id="app">
			<h1>过滤或者管道</h1>
			<!-- <p>{{100}}-{100.23}</p> -->
			<p>{{3.415926|fix}}</p>
			<p>{{3.415926|fix(3)}}</p>
			<p>{{3.415926|fix(5)}}</p>
			<hr>
			<p>{{2022-09-20}}->{{'2天前'}}</p>
			<p>{{'2022-09-20'|date}}</p>
			<p>{{'2021-09-22'|date}}</p>
			<p>{{'2022-09-22'|date}}</p>
		</div>
		<script>
			new Vue({
				el:"#app",
				filters:{
					fix(val,len=2){
						return Number(val).toFixed(len)
					},
					date(val){
						// 获取1970.1月1日到当前的毫秒数
						var time1=new Date(val).getTime();  //输入的时间0920距离1970年的时间
						var time2=new Date().getTime(); //今天的时间距离1970的时间
						// 获取毫秒数
						var dis=time2-time1;
						// 转换天数
						var day=Math.round((dis/1000/60/60/24));
						// 返回
						return day+"天前";
					}
				}
			})
		</script>
	</body>
</html>

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值