vue2中的@hook怎么使用


这篇文章主要讲解了“vue2中的@hook怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue2中的@hook怎么使用”吧!@hook是什么?用来监听组件生命周期的回调函数。这和生命周期函数mounted,created,updated有什么区别?区别1:@hook 会在对应的生命周期函数执行后执行。区别2:@hook 可以在父组件监听子组件的生命周期运行情况。从这段vue源代码中我们能看到hook的部分调用逻辑,vm.$emit('hook:' + hoo免费云主机域名k) 其实就是在调用我们写的@hook:mounted="xxx",@hook这个api却没有在官方文档中出现,所以鲜有人知道它的存在和用法。通常写法@hook的用法注意按照生命周期执行的先后周期,我们只能mounted生命周期里,写这之后的生命周期,而不能写hook:beforeMountthis.$on第二个回调函数的this指的是当前组件实例本身,无论这个回调函数是否是箭头函数。通常写法@hook的写法注意@hook的写法可以不需要在子组件里面编写其它代码从vue源码中可以发现 vm.$emit(‘hook:’ + hook) 这里虽然调用了hook但没有返回参数,也就是说,上面代码中ButtonRender没有默认参数。同样承接着2来说,由于ButtonRender没有默认参数,所以我们无法在ButtonRender函数中获取子组件Children的实例。为了解决3的问题,我尝试着想到一种方法,利用ref获取子组件的实例,将子组件的实例拿到父组件的this中。ButtonRender中的this就是父组件实例,和寻常methods中的函数没区别。但是,我们都知道,vue ref的绑定都是挂载完成之后,所以这个方法也只能用在@hook:mounted@hook:updated等mounted之后执行的生命周期中,而不能用在 比如@hook:beforeMount中。许多时候,我们不得不在不同的生命周期中执行某些逻辑,并且这些逻辑会用到一些通用的变量,这些通用变量按照之前的方式,我们不得不存在data中。优化后,就不存在这个问题,是不是很好用。如果属于同一业务的逻辑要在不同的生命周期中执行,下面这样会更利于阅读和维护。想要监听别人封装好的组件(第三方组件)的生命周期,你不可能去第三方子组件的生命周期中写代码。比如 element-ui 的button组件,在子组件渲染完成后,我想做某些逻辑变更。父beforeCreate
父 hook:beforeCreate
父created
父 hook:created
父beforeMount
父 hook:beforeMount
子beforeCreate
子hook:beforeCreate
子created
子hook:created
子beforeMount
子hook:beforeMount
子mounted
子hook:mounted
父mounted
父 hook:mounted父beforeUpdate
父hook:beforeUpdate
子beforeUpdate
子hook:beforeUpdate
子updated
子hook:updated
父updated
父hook:updated父beforeDestroy
父hook:beforeDestroy
子beforeDestroy
子hook:beforeDestroy
子destroyed
子hook:destroyed
父destroyed
父hook:destroyed以上内容涉及到vue父子组件生命周期执行顺序的知识,但对于@hook:xxx来说,在xxx执行后就会立即执行@hook:xxx感谢各位的阅读,以上就是“vue2中的@hook怎么使用”的内容了,经过本文的学习后,相信大家对vue2中的@hook怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是百云主机,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: python+JS怎么实现逆向SMZDM登录加密

本文小编为大家详细介绍“python+JS怎么实现逆向SMZDM登录加密”,内容详细,步骤清晰,细节处理妥当,希望这篇“python+JS怎么实现逆向SMZDM登录加密”文章免费云主机域名能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。这次…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 05/18 11:10
Next 05/18 11:10

相关推荐