如何理解vuejs2.0的钩子?
可有形象生动的例子?
正如@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(){
调用插件...
})
10 回答11.4k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.9k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
我的理解:钩子就是指某个阶段开始或者结束之前、之后等过程中被触发的函数