Vue2:解绑自定义事件

一、场景描述

上一节,我们学习了,自定义事件绑定到组件上。
现在,我们学习下,给组件解绑自定义事件的几种方法。

首先,我们试想一下,这个功能的适用场景?
一般同学都会想,解绑?那就注释掉代码就是了呗。
这个办法也可以,但是,不好,因为每次都要修改代码。

现在,我们实现通过按钮,从页面上给事件解绑。
此时,我们就可以在后台管理系统上,对整个项目的组件进行事件管理。而无需更新代码。

二、解绑自定义事件

Student组件解绑
方式1(推荐)
methods函数:

            unbind(){
                this.$off('test') //解绑一个自定义事件
                this.$off(['test','demo']) //解绑多个自定义事件
                this.$off() //解绑所有的自定义事件
            },

方式2
销毁vc
methods函数:

            death(){
            	//此处的this是Student组件的vc实例
                this.$destroy() //销毁了当前Student组件的实例,销毁后所有Student实例的自定义事件全都不奏效。
            }

方式3(禁用)
销毁vm
main.js中:

new Vue({
	el:'#app',
	render: h => h(App),
	mounted() {
		setTimeout(()=>{
			this.$destroy()		//此处的this是vm
		},3000)
	}
})

三、总结

解绑那个组件上的事件,就在该组件上编写解绑代码。

你可能感兴趣的:(前端,前端,javascript,vue.js)