山东省建设工程管理局网站,网站推广策划案例,就是做网站的.....,网站建设后台管理实训报告局部自定义指令
自定义指令可以调用 5个函数#xff0c;4个参数
函数#xff1a;
* bind#xff1a;只调用一次#xff0c;指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。* inserted#xff1a;被绑定元素插入父节点时调用 (仅保证父节点存在#x…局部自定义指令
自定义指令可以调用 5个函数4个参数
函数
* bind只调用一次指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。* inserted被绑定元素插入父节点时调用 (仅保证父节点存在但不一定已被插入文档中)。* update所在组件的 VNode 更新时调用但是可能发生在其子 VNode 更新之前。指令的值可能发生了改变也可能没有。但是你可以通过比较更新前后的值来忽略不必要的模板更新。* componentUpdated指令所在组件的 VNode 及其子 VNode 全部更新后调用。* unbind只调用一次指令与元素解绑时调用。
参数
* el指令所绑定的元素可以用来直接操作 DOM 。
* binding一个对象包含以下属性 * name指令名不包括 v- 前缀。 * value指令的绑定值例如v-my-directive1 1 中绑定值为 2。 * oldValue指令绑定的前一个值仅在 update 和 componentUpdated 钩子中可用。无论值是否改变都可用。 * expression字符串形式的指令表达式。例如 v-my-directive1 1中表达式为 1 1。 * arg传给指令的参数可选。例如 v-my-directive:foo 中参数为 foo。 * modifiers一个包含修饰符的对象。例如v-my-directive.foo.bar 中修饰符对象为 { foo: true, bar: true }。 * vnodeVue 编译生成的虚拟节点。移步 VNode API 来了解更多详情。 * oldVnode上一个虚拟节点仅在 update 和 componentUpdated 钩子中可用。
templatediv!-- 自定义指令 --input v-focus typetext v-modeldef /h1 v-content{{ def }}/h1/div
/templatescript
export default {directives: {focus: {// 指令的生命周期inserted(el, binding) {el.value 2222console.log(el, binding)},update() {console.log(1)},},content: {inserted(el, binding) {el.style.color redel.innertext binding.valueconsole.log(binding.value)},},},data() {return {def: 初始化内容,}},methods: {aaa() {console.log(111)},},
}
/script