《Vue3实战》 第八章 自定义指令

简介: 《Vue3实战》 第八章 自定义指令

前言

Vue 允许注册自定义指令

1、例子1 获取输入框焦点

<template>
  <div>
    <input type='text' v-focus/>
  </div>
</template>
<script>
export default {
  name: 'HelloWorld',
  directives:{
    focus:{
      mounted(el){
        el.focus();
      }
    }
  }
}
</script>

1.1、钩子函数

指令定义函数提供了几个钩子函数(可选)

钩子函数 作用
created : 在绑定元素的属性或事件监听器被应用之前调用。
beforeMount : 指令第一次绑定到元素并且在挂载父组件之前调用。
mounted : 在绑定元素的父组件被挂载后调用。
beforeUpdate : 在更新包含组件的 VNode 之前调用。。
updated : 在包含组件的 VNode 及其子组件的 VNode 更新后调用。
beforeUnmount : 当指令与在绑定元素父组件卸载之前时,只调用一次。
unmounted : 当指令与元素解除绑定且父组件已卸载时,只调用一次。

1.1.1、钩子函数参数

钩子函数的参数有:

1、el

el 指令绑定到的元素。这可用于直接操作 DOM。

2、binding

binding 是一个对象,包含以下属性:

  • instance:使用指令的组件实例。
  • value:传递给指令的值。例如,在v-my-directive=“1 + 1” 中,该值为 2。
  • oldValue:先前的值,仅在beforeUpdate 和updated 中可用。值是否已更改都可用。
  • arg:参数传递给指令 (如果有)。例如在 v-my-directive:foo 中,arg 为"foo"。
  • modifiers:包含修饰符 (如果有) 的对象。例如在v-my-directive.foo.bar 中,修饰符对象为{foo: true,bar: true}。
  • dir:一个对象,在注册指令时作为参数传递。例如,在以下指令中
{
  mounted(el) {
    el.focus()
  }
}

3、vnode

作为 el 参数收到的真实 DOM 元素的蓝图。

4、prevNode

上一个虚拟节点,仅在 beforeUpdate 和 updated 钩子中可用。

目录
相关文章
|
3月前
|
缓存 JavaScript 前端开发
vue学习第四章
欢迎来到我的博客!我是瑞雨溪,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中计算属性的基本与复杂使用、setter/getter、与methods的对比及与侦听器的总结。如果你觉得有用,请关注我,将持续更新更多优质内容!🎉🎉🎉
55 1
vue学习第四章
|
3月前
|
JavaScript 前端开发 索引
vue学习第三章
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中的v-bind指令,包括基本使用、动态绑定class及style等,希望能为你的前端学习之路提供帮助。持续关注,更多精彩内容即将呈现!🎉🎉🎉
64 1
|
3月前
|
JavaScript 前端开发
vue学习第五章
欢迎来到我的博客,我是瑞雨溪,一名热爱JavaScript和Vue的大一学生。自学前端2年半,正向全栈进发。如果你从我的文章中受益,欢迎关注,我将持续分享更多优质内容。你的支持是我最大的动力!🎉🎉🎉
41 1
|
6月前
|
JavaScript 程序员 数据安全/隐私保护
【Vue面试题二十】、你有写过自定义指令吗?自定义指令的应用场景有哪些?
这篇文章详细介绍了Vue中的自定义指令,包括指令系统的概念、如何实现自定义指令的全局和局部注册,以及自定义指令的钩子函数。文章还提供了几个自定义指令的应用场景示例,如表单防止重复提交、图片懒加载和一键复制功能,展示了自定义指令的灵活性和强大功能。
【Vue面试题二十】、你有写过自定义指令吗?自定义指令的应用场景有哪些?
|
JavaScript
都用Vue3了吧?自定义指令用过没!
前言 Vue提供了各种各样的指令供我们使用,比如v-model、v-bind等等,可以说指令是Vue的重要功能点之一。除了Vue内置的一些指令外,Vue还允许我们自己定义指令,相信学过Vue的小伙伴应该都或多或少知道自定义指令,自定义指令在有些场景下非常的好用,它可以为我们省去超过工作量。 但是Vue3和Vue2中的自定义指令有一些区别,今天我们就重点学习一下Vue3中自定义指令如何使用?
384 0
都用Vue3了吧?自定义指令用过没!
|
Web App开发 JavaScript iOS开发
Vue2向Vue3过度核心技术自定义指令
Vue2向Vue3过度核心技术自定义指令
66 0
【Vue3 第六章】to 系列
【Vue3 第六章】to 系列
102 0
|
JavaScript API
学习Vue3 第十二章(认识组件&Vue3生命周期)
引入子组件 helloWorld 然后直接就可以去当标签去使用 (切记组件名称不能与html元素标签名称一样)
130 0
学习Vue3 第十二章(认识组件&Vue3生命周期)
|
前端开发
前端学习笔记202304学习笔记第十五天-vue3.0-了解自定义指令概念
前端学习笔记202304学习笔记第十五天-vue3.0-了解自定义指令概念
85 0
|
JavaScript
【Vue3从零开始-第五章】5-2 自定义指令
【Vue3从零开始-第五章】5-2 自定义指令
164 0
【Vue3从零开始-第五章】5-2 自定义指令

热门文章

最新文章