美文网首页Vue技术
vue自定义指令使用场景,哪些钩子函数、各是什么意思?

vue自定义指令使用场景,哪些钩子函数、各是什么意思?

作者: 源大侠 | 来源:发表于2021-06-22 11:38 被阅读0次

自定义指令使用场景

  • 存在复杂业务逻辑处理,并且对dom更新相对较少,此时就会用到自定义指令
  • 简化组件内部代码,此时就会用到自定义指令
  • 当需要对普通 DOM 元素进行底层操作,此时就会用到自定义指令
  • 需要减少代码改动,且存在多个相同业务逻辑的,此时就会用到自定义指令

自定义指令使用实例

const auths=["order","users","activity"];
const isAuth=(current)=>{
    const roles=localStorage.getItem("auths");
    const isR=current.some(item => auths.includes(item));
    return isR;
}

Vue.directive('auths', {
  //01
  bind: function (el, binding, vnode) {
  },
  //02
  inserted: function (el, binding) {
    const current  = binding.value
      if(!current||!isAuth(current)){
        el.parentNode && el.parentNode.removeChild(el);
      }
  },
  //03
  update: function (el, binding, vnode,oldVnode) {
  },
  //04
  componentUpdated: function (el, binding, vnode,oldVnode) {
  },
  //05
  unbind: function () {
  },
})
<template>
  <a v-auths="['order']">编辑订单</a>
</template>

触发顺序

如auths自定义指令中定义的顺序

自定义指令钩子函数

  • bind:只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。
  • inserted: 被绑定元素插入父节点时调用 (仅保证父节点存在,但不一定已被插入文档中)。
  • update:所在组件的 VNode 更新时调用,但是可能发生在其子 VNode 更新之前。指令的值可能发生了改变,也可能没有。
  • componentUpdated:指令所在组件的 VNode 及其子 VNode 全部更新后调用。
  • unbind: 只调用一次,指令与元素解绑时调用。

相关文章

  • vue自定义指令使用场景,哪些钩子函数、各是什么意思?

    自定义指令使用场景 存在复杂业务逻辑处理,并且对dom更新相对较少,此时就会用到自定义指令 简化组件内部代码,此时...

  • 前端常见面试题五

    目录: 1、什么是自定义指令,有哪些钩子函数及自定义指令的使用场景 2、父组件获取异步动态数据传递给子组件,报错如...

  • Vue指令钩子函数

    Vue指令上篇文章有讲过了,现在分析Vue指令钩子函数。 自定义指令 全局定义:Vue.directive( ' ...

  • 前端面试题(五)--高频面试题型

    第五天 1.什么是自定义指令,有哪些钩子函数及自定义指令的使用场景 答:有的情况下,你仍然需要对普通 DOM 元素...

  • 今日流程图

    问:自定义指令(v‐check、v‐focus)的方法有哪些?它有哪些钩子函数?还有哪些钩子函数参数?答:全局定义...

  • vue自定义指令,包装函数节流。

    自定义指令的钩子函数 Vue 提供了自定义指令的5个钩子函数: bind:指令第一次绑定到元素时调用,只执行一次。...

  • Vue 自定义指令

    Vue自定义指令 定义 通过directive方法,配合钩子函数及参数定义指令 定义全局自定义指令 定义局部自定义...

  • Vue 基础 - 自定义指令和 render 函数

    自定义指令 类似组件可以全局注册和局部注册,使用derective注册。 钩子函数 指令定义函数提供了几个钩子函数...

  • 😄--前端面试整理--VueJs

    1、Vue的指令都有哪些? 2、Vue的生命周期函数 3、除了生命周期函数还有哪些钩子函数 4、Vue组件是怎么进...

  • vue自定义全局指令

    Vue.directive('指令名',{ 钩子函数1(){}, 钩子函数2(){} }) -----------...

网友评论

    本文标题:vue自定义指令使用场景,哪些钩子函数、各是什么意思?

    本文链接:https://www.haomeiwen.com/subject/rcwpyltx.html