返回顶部
首页 > 资讯 > 精选 >vue3自定义指令方法是什么
  • 141
分享到

vue3自定义指令方法是什么

2023-06-21 20:06:43 141人浏览 独家记忆
摘要

这篇文章主要讲解了“vue3自定义指令方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue3自定义指令方法是什么”吧!一、注册自定义指令以下实例都是实现一个输入框自动获取焦点的自定

这篇文章主要讲解了“vue3自定义指令方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue3自定义指令方法是什么”吧!

    一、注册自定义指令

    以下实例都是实现一个输入框自动获取焦点的自定义指令。

    1.1、全局自定义指令

    在vue2中,全局自定义指令通过 directive 挂载到 Vue 对象上,使用 Vue.directive('name',opt)

    实例1:Vue2 全局自定义指令

    Vue.directive('focus',{ inserted:(el)=>{  el.focus() }})

    inserted 是钩子函数,在绑定元素插入父节点时执行。

    vue3 中,vue 实例通过createApp 创建,所以全局自定义指令的挂载方式也改变了, directive 被挂载到 app上。

    实例2:Vue3 全局自定义指令

    //全局自定义指令app.directive('focus',{ mounted(el){  el.focus() }})//组件使用<input type="text" v-focus />

    1.2、局部自定义指令

    在组件内部,使用 directives 引入的叫做局部自定义指令。Vue2Vue3 的自定义指令引入是一模一样的。

    实例3:局部自定义指令

    <script>//局部自定义指令const defineDir = { focus:{  mounted(el){   el.focus()  } }}export default { directives:defineDir, setup(){}}</script>  

    二、自定义指令中的生命周期钩子函数

    一个指令定义对象可以提供如下几个钩子函数(都是可选的,根据需要引入)

    • created :绑定元素属性或事件监听器被应用之前调用。该指令需要附加需要在普通的 v-on 事件监听器前调用的事件监听器时,这很有用。

    • beforeMounted :当指令第一次绑定到元素并且在挂载父组件之前执行。

    • mounted :绑定元素的父组件被挂载之后调用。

    • beforeUpdate :在更新包含组件的 Vnode 之前调用。

    • updated :在包含组件的 VNode 及其子组件的 VNode 更新后调用。

    • beforeUnmounted :在卸载绑定元素的父组件之前调用

    • unmounted :当指令与元素解除绑定且父组件已卸载时,只调用一次。

    实例3测试指令内生命周期函数执行

    <template> <div>  <input type="text" v-focus  v-if="show"><br>  <button @click="changStatus">{{show?'隐藏':'显示'}}</button> </div></template> //局部自定义指令const autoFocus = { focus:{  created(){   console.log('created');  },  beforeMount(){   console.log('beforeMount');  },  mounted(el){   console.log('mounted');  },  beforeUpdated(){   console.log('beforeUpdated')  },  updated(){   console.log('updated');  },  beforeUnmount(){   console.log('beforeUnmount');  },  unmounted(){   console.log('unmounted');  } },}import { ref } from 'vue'export default { directives:autoFocus, setup(){  const show = ref(true)  return {   show,   changStatus(){    show.value = !show.value   }  } }}  

    通过点击按钮,我们发现创建 input 元素的时候,会触发 createdbeforeMount mounted 三个钩子函数。

    隐藏 input 元素的时候,会触发 beforeUnmount unmounted

    然而我们添加的 beforeUpdate updated 函数并没有执行。

    此时我们把 input 元素上的 v-if 修改成 v-show 就会执行上述两个方法了,具体的执行情况自行验证下。

    从 vue2 升级到 vue3 ,自定义指令的生命周期钩子函数发生了改变,具体变化如下:

    • bind 函数被替换成了beforeMounted

    • update 被移除。

    • componentUpdated 被替换成了updated

    • unbind 被替换成了 unmounted

    • inserted 被移除。

    三、自定义指令钩子函数的参数

    钩子函数被赋予了以下参数:

    • el:指令所绑定的元素,可以直接操作DOM

    • binding:是一个对象,包含该指令的所有信息。

    binding 包含的属性具体的分别为:

    • arg 自定义指令的参数名。

    • value 自定义指令绑定的值。

    • oldValue 指令绑定的前一个值。

    • dir 被执行的钩子函数

    • modifiers:一个包含修饰符的对象。

    <template> <div>  <div v-fixed >定位</div> </div></template> <script>//自定义指令动态参数const autoFocus = { fixed:{  beforeMount(el,binding){   console.log('el',el)   console.log('binding',binding)  } }}export default { directives:autoFocus, setup(){ }}</script>

    四、自定义指令参数

    自定义指令的也可以带参数,参数可以是动态的,参数可以根据组件实例数据进行实时更新。

    实例4:自定义指令动态参数

    <template> <div>  <div v-fixed:pos="posData" >定位</div> </div></template><script>//自定义指令动态参数const autoFocus = { fixed:{  beforeMount(el,binding){   el.style.position = "fixed"   el.style.left = binding.value.left+'px'   el.style.top = binding.value.top + 'px'  } }}export default { directives:autoFocus, setup(){  const posData = {   left:20,   top:200  }  return {   posData,  } }}</script>

    什么时候需要自定义指令?

    • 需要对普通 DOM 元素进行底层操作,这时候就会用到自定义指令。

    • 需要将某些功能在指定DOM元素上使用,但对于需要操作大量DOM元素或者大变动时候,推荐使用组件,而不是指令。

    感谢各位的阅读,以上就是“vue3自定义指令方法是什么”的内容了,经过本文的学习后,相信大家对vue3自定义指令方法是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

    --结束END--

    本文标题: vue3自定义指令方法是什么

    本文链接: https://lsjlt.com/news/300683.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • vue3自定义指令方法是什么
      这篇文章主要讲解了“vue3自定义指令方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue3自定义指令方法是什么”吧!一、注册自定义指令以下实例都是实现一个输入框自动获取焦点的自定...
      99+
      2023-06-21
    • vue3自定义指令的方法是什么
      这篇文章主要介绍“vue3自定义指令的方法是什么”,在日常操作中,相信很多人在vue3自定义指令的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue3自定义指令的方法是什么”的疑惑有所帮助!接下来...
      99+
      2023-07-04
    • vue3自定义指令详情
      目录一、注册自定义指令1.1、全局自定义指令1.2、局部自定义指令二、自定义指令中的生命周期钩子函数三、自定义指令钩子函数的参数四、自定义指令参数一、注册自定义指令 以下实例都是实现...
      99+
      2024-04-02
    • vue自定义指令使用的方法是什么
      这篇“vue自定义指令使用的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue自定义指令使用的方法是什么”文章吧...
      99+
      2023-07-05
    • vue自定义指令directive使用的方法是什么
      本篇内容主要讲解“vue自定义指令directive使用的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue自定义指令directive使用的方法是什么”吧!1. 一个指令定义对象可...
      99+
      2023-07-06
    • vue自定义指令传参方式是什么
      这篇文章主要介绍“vue自定义指令传参方式是什么”,在日常操作中,相信很多人在vue自定义指令传参方式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue自定义指令传参方式是什么”的疑惑有所帮助!接下来...
      99+
      2023-06-30
    • vue3的自定义指令directives实现
      目录一、什么是自定义指令二、指令的分类三、指令的作用四、指令的钩子五、钩子参数六、指令的使用指令的参数和修饰符一、什么是自定义指令 我们已经熟悉Vue内置的一系列指令 ,比如 v-m...
      99+
      2024-04-02
    • 怎么写一个Vue3的自定义指令
      本篇内容主要讲解“怎么写一个Vue3的自定义指令”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么写一个Vue3的自定义指令”吧!背景众所周知,Vue.js 的核心思想是数据驱动 + 组件化,通...
      99+
      2023-06-26
    • Vue3怎么编写自定义指令插件
      今天小编给大家分享一下Vue3怎么编写自定义指令插件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。编写自定义插件//&nbs...
      99+
      2023-07-02
    • 怎么在Vue3中实现自定义指令
      这篇文章主要介绍“怎么在Vue3中实现自定义指令”,在日常操作中,相信很多人在怎么在Vue3中实现自定义指令问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么在Vue3中实现自定义指令”的疑惑有所帮助!接下来...
      99+
      2023-07-02
    • 如何写一个Vue3的自定义指令
      目录背景插件指令的实现前端巅峰 以下文章来源于微信公众号前端巅峰 背景 众所周知,Vue.js 的核心思想是数据驱动 + 组件化,通常我们开发页面的过程就是在编写一些组件,...
      99+
      2024-04-02
    • Vue3中的setup与自定义指令怎么使用
      setup语法糖 最大好处就是所有声明部分皆可直接使用,无需return出去注意:部分功能还不完善,如:name、render还需要单独加入script标签按compositionAPI方式编写// setup 下还可以附加<scri...
      99+
      2023-05-14
      Vue3 setup
    • win10自定义鼠标指针的方法是什么
      在Windows 10中,可以通过以下方法自定义鼠标指针:1. 打开“设置”:点击开始菜单,然后点击“设置”图标。2. 进入“设备”...
      99+
      2023-10-18
      win10
    • Vue3中关于setup与自定义指令详解
      目录setup语法糖 setup语法糖独有 自定义指令相关 setup语法糖  最大好处就是所有声明部分皆可直接使用,无需return出去 注意:部分功能还不完善...
      99+
      2023-05-16
      Vue3 自定义指令 Vue3 setup
    • vue3中怎么自定义指令实现按钮防抖
      这篇“vue3中怎么自定义指令实现按钮防抖”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue3中怎么自定义指令实现按钮防抖...
      99+
      2023-07-05
    • vue自定义指令的方法有哪些
      在vue中自定义指令的方法有:语法:Vue.directive(id, definition);1.自定义全局指令;2.自定义私有指令;在vue中自定义指令的方法有以下两种vue自定义指令语法:Vue.directive(id, ...
      99+
      2024-04-02
    • Angular自定义指令Tooltip的方法实例
      目录目录结构编写 tooltip 组件编写 tooltip 指令页面上调用总结Yeah,关注我的读者应该知道,上一篇文章了解 Angular 开发的内容,我们已经概览了 Angula...
      99+
      2024-04-02
    • vue自定义指令directive有什么用
      这篇文章主要介绍了vue自定义指令directive有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下所示: 官网...
      99+
      2024-04-02
    • 一文教你学会在Vue3中自定义指令
      目录1. 成果展示2. 指令基础2.1 两种作用域2.2 七个钩子函数2.3 四个参数2.4 动态参数3. 自定义权限指令TienChin 项目前端是 Vue3,前端有这样的一个需求...
      99+
      2024-04-02
    • Vue3中的setup与自定义指令如何使用
      本篇内容主要讲解“Vue3中的setup与自定义指令如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue3中的setup与自定义指令如何使用”吧!setup语法糖最大好处就是所有声明部分...
      99+
      2023-07-06
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作