(window.webpackJsonp=window.webpackJsonp||[]).push([[79],{225:function(e,t,a){"use strict";a.r(t);var v=a(0),i=Object(v.a)({},(function(){var e=this.$createElement;this._self._c;return this._m(0)}),[function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"content"},[a("h1",{attrs:{id:"vue钩子"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#vue钩子"}},[e._v("#")]),e._v(" Vue钩子")]),e._v(" "),a("h4",{attrs:{id:"_1、钩子函数"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_1、钩子函数"}},[e._v("#")]),e._v(" 1、钩子函数")]),e._v(" "),a("p",[e._v("指令定义函数提供了几个钩子函数（可选）：")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("bind: 只调用一次，指令第一次绑定到元素时调用，用这个钩子函数可以定义一个在绑定时执行一次的初始化动作。")])]),e._v(" "),a("li",[a("p",[e._v("inserted: 被绑定元素插入父节点时调用（父节点存在即可调用，不必存在于 document 中）。")])]),e._v(" "),a("li",[a("p",[e._v("update: 被绑定元素所在的模板更新时调用，而不论绑定值是否变化。通过比较更新前后的绑定值，可以忽略不必要的模板更新（详细的钩子函数参数见下）。")])]),e._v(" "),a("li",[a("p",[e._v("componentUpdated: 被绑定元素所在模板完成一次更新周期时调用。")])]),e._v(" "),a("li",[a("p",[e._v("unbind: 只调用一次， 指令与元素解绑时调用。")])])]),e._v(" "),a("h4",{attrs:{id:"_2、钩子函数参数"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_2、钩子函数参数"}},[e._v("#")]),e._v(" 2、钩子函数参数")]),e._v(" "),a("p",[e._v("钩子函数的参数有：")]),e._v(" "),a("ol",[a("li",[e._v("el: 指令所绑定的元素，可以用来直接操作 DOM 。")]),e._v(" "),a("li",[e._v("binding: 一个对象，包含以下属性：")])]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v('name: 指令名，不包括 v- 前缀\nvalue: 指令的绑定值， 例如： v-my-directive="1 + 1", value 的值是 2。\noldValue: 指令绑定的前一个值，仅在 update 和 componentUpdated 钩子中可用。无论值是否改变都可用。\nexpression: 绑定值的表达式或变量名。 例如 v-my-directive="1 + 1" ， expression 的值是 "1 + 1"。\narg: 传给指令的参数。例如 v-my-directive:foo， arg 的值是 "foo"。\nmodifiers: 一个包含修饰符的对象。 例如： v-my-directive.foo.bar, 修饰符对象 modifiers 的值是 { foo: true, bar: true }。\n')])])]),a("ol",{attrs:{start:"3"}},[a("li",[e._v("vnode: Vue 编译生成的虚拟节点。")]),e._v(" "),a("li",[e._v("oldVnode: 上一个虚拟节点，仅在 update 和 componentUpdated 钩子中可用。")])])])}],!1,null,null,null);t.default=i.exports}}]);