javascript - 描述一下钩子
PHP中文网
PHP中文网 2017-04-10 17:51:25
[JavaScript讨论组]

描述一下钩子

用自己的理解,找了好多,但感觉都说的比较模糊,用简介的语言描述和举例!!

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(9)
PHPz

你可以简单的理解成一种回调函数就好了,比如各种MVVM框架的声明周期回调(钩子)。

大家讲道理

链接描述

PHP中文网

在JavaScript中一般不用钩子这种称呼吧?题主是在哪里看到的?

巴扎黑

所为钩子,个人理解,就是在出发某个事件之前或者之后,或者之中。。要发生的事件,
比如切换路由之前(可以做一些验证), beforeRouteChange...
http请求之前; beforeHttpRequest(可以验证用户是否有权限)
组件渲染之前,beforeComponentRender,
组件渲染之后,afterComponentRender,
组件销毁之前(从dom移除)beforeComponentDestroy,
类(构造函数)创建初始化 : constructor
类销毁: destroy...
。。。。

大家讲道理

什么钩子,就是回调,或者理解成监听器也行.

迷茫

百度搜一下“Hook”, 应该来源于 WindowsAPI

黄舟

领导让我写个简单的轮播图
我写了
快写完的时候,领导让我加了个显示总张数和当前张数的功能
我又倒回去改改改
改的时候,我猜领导可能会让我加个左右按钮来控制轮播
于是我就写了左右按钮的方法,只要传入设当参数就行了
于是我就给领导交差了
然后果不其然领导要求加这个功能
于是我愉快的申请了一天的时间,上午把dom和控制参数一传入就搞定了,下午和前台小姑娘撩了一下午...
下班交差并受到领导表扬.....
当然以上都是我编的

我猜我猜的时候就是预留了个钩子吧...

还有,设计模式里面的观察者模式可能会对你的问题有所回答吧

PHP中文网

钩子,就好比龟波气功,你聚集着能量到某个点时将其轰出。

  1. 聚集气功这个过程是触发钩子前的准备

  2. 某个点指的就是钩子触发的时刻

  3. 轰出指的就是执行这个钩子

比如,加载一张图片
var img = new Image()
img.src = '...'
img.onload = function(e) { }
浏览器加载这个图片需要时间,加载完那一刻,就触发了钩子,在这里就是img.onload绑定的事件,告诉你图片加载完了

黄舟

举个例子:
用户注册;

用户注册成功,这其实就一个信号;这个信号可以通知其他东西去操作一些事情。比如发送短信、邮件等;一般这个信号会做成一个钩子。当信号触发后,会主动操作对应的一些操作!

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号