vue入门学习(二)自定义指令

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title></title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
    <style>
    	[v-cloak]{display: none;}
    </style>
  </head>
  <body>
  	<!--ref指令:指定唯一标识,vue对象通过$refs属性访问这个元素对象
  	v-cloak指令:防止闪现,与css配合[v-cloak]:{display:none;}  在vue解析之前存在,解析之后消失。-->
    <div id="app">
    	<p ref="msg">Hello world!</p>
    	<button @click="handleBtn">点击</button>
    	<p v-cloak>{{mess}}</p> 
    	<!--3、使用指令: v-my-directive="xxx"-->
    </div>
    <div id="upper">
    	<p v-upper-text="txt"></p> //I LOVE YOU,BABY!
    	<p v-lower-text="txt"></p> //
    </div>
    <p>------------------------------------</p>
    <div id="lower">
    	<p v-upper-text="txt"></p> //I LOVE YOU,BABY!
    	<p v-lower-text="txt"></p> //i love you,baby!
    	<p v-add="add"></p>  //这是addpuls
    </div>
    <script>
    	//1、注册全局指令
    	Vue.directive('upper-text',function(el,bind){
    		console.log(el);
    		console.log(bind);
    		el.innerHTML = bind.value.toUpperCase();
    	});
    	
    	new Vue({
    		el: '#app',
    		data: {
    			mess: '你好,明天'
    		},
    		methods: {
    			handleBtn() {
    				console.log(this.$refs.msg.textContent); //Hello world!
    				console.log(this.$refs.msg.innerHTML);   //Hello world!
    				console.log(this.$refs.msg.innerText);   //Hello world!
    				
    			}
    		}
    	});
    	
    	new Vue({
    		el:"#upper",
    		data: {
    			txt:"I Love You,Baby!"
    		}
    	})
    	
    	new Vue({
    		el:"#lower",
    		data: {
    			txt:"I Love You,Baby!",
    			add: '这是add'
    		},
    		//2、注册局部指令,只在当前vue实例有效
    		directives: {
    			'lower-text': function(el,bind) {
    				el.innerHTML = bind.value.toLowerCase();
    			},
    			'add': function(el,bind) {
    				el.textContent = bind.value +'puls';
    			}
    		},
    	})
    	
    </script>
  </body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LLL_LH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值