2-1.Vue全局API

Vue全局API

Vue自定义指令

1.定义一个全局指令,调用Vue中的Vue.directive()
例子:
点击按钮,实现加分的功能;
当点击加分按钮时,字体的大小发生改变。
初始化时总分是1,通过点击按钮进行加分。
利用自定义指令控制style样式

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>这是对vue自定义指令的复习</title>
		<script src="../assets/js/vue.js" type="text/javascript"></script>
	</head>
	<body>
		<div id="app">
			<div v-liu="color">运用vue的自定义指令</div>
			<hr />
			<div v-chen="font">Vue自定义指令的生命周期</div>
			<div v-chen='font'>总分:{{numbers}}</div>
			<button v-on:click="add()">加分</button>
		</div>
		<script type="text/javascript">
			Vue.directive('liu',function(el,binding){
				el.style='color:'+binding.value;
			})
			Vue.directive('chen',{
				bind:function(){
					console.log("1-bind")
				},
				inserted:function(){
					console.log("2-inserted")
				},
				update:function(el,binding){
					el.style="font-size:"+binding.value;
					console.log("3-update")
				},
				componentUpdated:function(){
					console.log("4-componentUpdated")
				}
			})
			var demo=new Vue({
				el:'#app',
				data:{
					color:'green',
					numbers:1,
					font:'35px'
				},
				methods:{
					add:function () {
						this.numbers++;
					}
				}
			})
		</script>
	</body>
</html>

还没点击“加分”按钮时:
在这里插入图片描述
点击加分按钮后:
在这里插入图片描述

Vue自定义指令的生命周期

五个生命周期,也叫做钩子函数。

  1. bind:只调用一次,指令第一次绑定到元素时调用,用这个钩子函数可以定义一个绑定时执行一次的初始化动作。
  2. inserted:被绑定元素插入父节点时调用
  3. update:被绑定于元素所在的模板更新时调用
  4. componentUpdated:被绑定元素所在模板完成一次更新周期时调用
  5. unbind:只调用一次,指令与元素解绑时调用
自定义指令传递的三个参数:

附加:

  • el: 指令所绑定的元素,可以用来直接操作DOM。
  • binding: 一个对象,包含指令的很多信息。
  • vnode: Vue编译生成的虚拟节点。
发布了32 篇原创文章 · 获赞 3 · 访问量 510

猜你喜欢

转载自blog.csdn.net/weixin_43913219/article/details/104024604