如何理解vuejs2.0的钩子?

如何理解vuejs2.0的钩子?
可有形象生动的例子?

阅读 5.6k
5 个回答

我的理解:钩子就是指某个阶段开始或者结束之前、之后等过程中被触发的函数

正如@small_dragon 所说,钩子就是指某个阶段开始或者结束之前、之后等过程中被触发的动作,拿npm来说,如果你有个"build"脚本命令,那么执行npm run build的时候,会自动按照下面的顺序执行。

npm run prebuild && npm run build && npm run postbuild
var rawConsoleInfo = console.info;
console.info=function(str){
    str+="咩哈哈哈哈哈";//钩子
    rawConsoleInfo(str);
}

这个就是钩子

钩子不就是挂在哪个地方,然后一扯就动么

新手上路,请多包涵

不止是vuejs,其它的框架或是组件都有钩子,那么回到vuejs,作者留着各种钩子是为了让你方便扩展使用的。
比如你做一个banner轮播图, banner的url是从服务器获取的,利用vuejs的双向绑定生成banner html

<div id="banner">
<li><img src=...></li>
<li><img src=...></li>
</div>

好了, 这是你不想自己写一个基于vue的轮播图插件, 而是找了个jquery 插件, 你直接掉jquery插件可是没有用的, 你得确定已经生成了html, 这个时候vuejs钩子就有作用了。利用Vue.nextTick,具体用法和说明参照一下官方文档,这个钩子意思是html生成之后vue会调一下这个方法。在这个钩子里面调用插件

  Vue.nextTick(function(){
    调用插件...
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题