描述一下钩子
用自己的理解,找了好多,但感觉都说的比较模糊,用简介的语言描述和举例!!
所为钩子,个人理解,就是在出发某个事件之前或者之后,或者之中。。要发生的事件,
比如切换路由之前(可以做一些验证), beforeRouteChange...
http请求之前; beforeHttpRequest(可以验证用户是否有权限)
组件渲染之前,beforeComponentRender,
组件渲染之后,afterComponentRender,
组件销毁之前(从dom移除)beforeComponentDestroy,
类(构造函数)创建初始化 : constructor
类销毁: destroy...
。。。。
领导让我写个简单的轮播图
我写了
快写完的时候,领导让我加了个显示总张数和当前张数的功能
我又倒回去改改改
改的时候,我猜领导可能会让我加个左右按钮来控制轮播
于是我就写了左右按钮的方法,只要传入设当参数就行了
于是我就给领导交差了
然后果不其然领导要求加这个功能
于是我愉快的申请了一天的时间,上午把dom和控制参数一传入就搞定了,下午和前台小姑娘撩了一下午...
下班交差并受到领导表扬.....
当然以上都是我编的
还有,设计模式里面的观察者模式可能会对你的问题有所回答吧
钩子,就好比龟波气功,你聚集着能量到某个点时将其轰出。
聚集气功这个过程是触发钩子前的准备
某个点指的就是钩子触发的时刻
轰出指的就是执行这个钩子
比如,加载一张图片
var img = new Image()
img.src = '...'
img.onload = function(e) { }
浏览器加载这个图片需要时间,加载完那一刻,就触发了钩子,在这里就是img.onload绑定的事件,告诉你图片加载完了
举个例子:
用户注册;
用户注册成功,这其实就一个信号;这个信号可以通知其他东西去操作一些事情。比如发送短信、邮件等;一般这个信号会做成一个钩子
。当信号触发后,会主动操作对应的一些操作!
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
你可以简单的理解成一种回调函数就好了,比如各种MVVM框架的声明周期回调(钩子)。