V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
aias
V2EX  ›  问与答

什么叫钩子?

  •  
  •   aias · 2016-05-28 21:14:40 +08:00 · 2428 次点击
    这是一个创建于 3103 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在学习框架啊库啊之类的时候,经常看见钩子这个词,钩子究竟是什么意思?

    比如:

    Vue 实例在创建时有一系列初始化步骤——例如,它需要建立数据观察,编译模板,创建必要的数据绑定。在此过程中,它也将调用一些生命周期钩子,给自定义逻辑提供运行机会。例如 created 钩子在实例创建后调用

    12 条回复    2016-05-29 17:01:52 +08:00
    Lentin
        1
    Lentin  
       2016-05-28 21:25:18 +08:00
    hook
    2225377fjs
        2
    2225377fjs  
       2016-05-28 21:26:09 +08:00   ❤️ 1
    个人理解一般是一个外部系统提供出来的一些回调的途径,用于配合这个外部系统实现一些逻辑。也可以认为是一种非侵入式的集成方案,毕竟外部系统不可能直接让你改它的实现。
    chairuosen
        3
    chairuosen  
       2016-05-28 22:05:56 +08:00
    可以理解成 event
    wuruxu
        4
    wuruxu  
       2016-05-28 22:07:09 +08:00
    可以理解成 C 的 callback ,也跟 Java 的 Interface 比较类似
    LINAICAI
        5
    LINAICAI  
       2016-05-28 22:47:57 +08:00
    生命周期钩子,我想应该是监控原来的函数,然后回调给 vue 方便做一些额外操作的,比如 svn 的钩子。。。
    243205964
        6
    243205964  
       2016-05-28 22:50:35 +08:00 via Android
    看标题第一反应是屁股…
    然后内容哈哈哈哈不懂…
    just4test
        7
    just4test  
       2016-05-28 22:51:36 +08:00
    就是侦听器。
    am241
        8
    am241  
       2016-05-28 22:53:53 +08:00
    基本上就是 callback
    和 onclick, onload 很类似
    XianZaiZhuCe
        9
    XianZaiZhuCe  
       2016-05-29 01:20:45 +08:00 via iPhone
    类似于前端加载时 on load ,当然不仅仅是 onload
    dxwwym
        10
    dxwwym  
       2016-05-29 11:38:32 +08:00 via iPhone
    是不是可以直接理解成钩子是可以挂东西的,可以直接往里挂函数,反正我是这么理解地。
    msg7086
        11
    msg7086  
       2016-05-29 14:23:06 +08:00   ❤️ 1
    把你自己的逻辑代码用钩子挂在库代码上。
    这样库代码在执行的时候,看到了这个钩子,就会顺着钩子一路下来执行你的逻辑代码了。
    aias
        12
    aias  
    OP
       2016-05-29 17:01:52 +08:00
    @msg7086 这个解释通俗易懂!感谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1609 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:55 · PVG 00:55 · LAX 08:55 · JFK 11:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.