Vue自定义指令

2023-10-30

目录

1. 自定义指令注册

1.1 全局注册

1.2 局部注册

2. 自定义指令写法

2.1.对象式(常用)

2.2.函数式

3.总结


1. 自定义指令注册

1.1 全局注册

Vue.directive('name', {})

1.2 局部注册

directives: {
    name: {}
}

注意全局注册的单词是directive,局部注册的单词是directives,局部注册单词要加 s 哦

2. 自定义指令写法

(以局部注册为例)

2.1.对象式(常用)

键值对的写法

            directives: {
                // 二、对象式
                bfocus: {
                    bind(element, bingding) {
                        element.value = bingding.value
                    },
                    inserted(element, bingding) {
                        element.value = bingding.value

                    },
                    update(element, bingding) {
                        element.value = bingding.value
                    },
                }
            },

缺点:写法比较麻烦

优点:可以处理细节问题

自定义指令的几个钩子函数:

  • bind:指令第一次绑定到元素时调用,只执行一次。
  • inserted:被绑定的元素,插入到父节点的 DOM 中时调用。
  • update:组件更新时调用。
  • componentUpdated:组件与子组件更新时调用。
  • unbind:指令与元素解绑时调用,只执行一次。

注意自定义组件的钩子函数的 update没有 d 哦,vue生命周期钩子函数是updatad

2.2.函数式

缺点:不可以处理细节问题

优点:写法简单

写法:

<body>
    <div id="root">
        <h2>值是{{n}} </h2>
        <h2>减小十倍的值是<span v-big="n"></span></h><br>
            <button @click="n++">点我加加一</button>
    </div>
    <script>
        Vue.config.productionTip = false;
        new Vue({
            el: '#root',
            data: {
                n: 10
            },
            directives: {
                big(element, binding) {
                    element.innerHTML = binding.value * 10
                }
            }
        })
    </script>

函数调用的时候

  • 指令与元素绑定时
  • 指令所在模板重新解析时

3.总结

  • 在注册指令时用 xxx,使用时用 v-xxx
  • 自定义指令里面的this指向window对象
  • 指令名是由多个单词注册,使用a-b命名法,不要用aB命名法
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue自定义指令 的相关文章

随机推荐

  • Redis使用总结(三、缓存击穿问题)

    什么是缓存击穿 在谈论缓存击穿之前 我们先来回忆下从缓存中加载数据的逻辑 如下图所示 因此 如果黑客每次故意查询一个在缓存内必然不存在的数据 导致每次请求都要去存储层去查询 这样缓存就失去了意义 如果在大流量下数据库可能挂掉 这就是缓存击穿
  • 低功耗设计之门控时钟

    门控时钟一般是用于多比特的数据 因为门控单元也有资源消耗 需要耗电 一般数据位宽超过3bit才会有收益 1 与门 或门 门控时钟 门控时钟的控制信号可以选用高电平有效或低电平有效 若控制信号高电平有效 可以使用与门进行时钟门控 时钟被关闭时
  • Qt 子窗口和父窗口,子窗口和子窗口控件获取

    文章目录 前言 一 代码 二 局限性 前言 Qt开发过程中 难免会遇到子窗口需要获取父窗口某个控件的状态 或者是子窗口需要获取另外一个子窗口某个控件的状态 之前用过回调 全局变量 信号和槽连接 但是都太麻烦了 后面研究出一种简单的方法 会有
  • A--玉米大炮--2022河南萌新联赛第(三)场:河南大学

    输入 3 3 1 1 2 2 3 3 输出 0 说明 开始时 小蓝控制所有大炮立即发射炮弹 僵王博士受到 666 点伤害 直接被击溃 示例2 输入 2 20 5 1 5 3 输出 2 说明 开始时 小蓝控制所有大炮立即发射炮弹 僵王博士受到
  • Linux终端配置——zsh+插件优化

    文章目录 安装Zsh Ubuntu版本 安装插件 更改默认shell 并配置插件和主题 启动插件和主题 刚入Linux的萌新 发现Linux虽然牛 但是这个终端也太不智能了 既不美观也不智能 所以本篇博客可以通过安装zsh进行简单的优化 包
  • react16常见api以及原理剖析

    Vue 与 React 两个框架的粗略区别对比 Vue 的优势包括 模板和渲染函数的弹性选择 简单的语法及项目创建 更快的渲染速度和更小的体积 React 的优势包括 更适用于大型应用和更好的可测试性 同时适用于 Web 端和原生 App
  • sqli练习1-5关(超详细)

    此博客仅用来记录我的学习过程 我会把每一步都记录下来 sqlli 练习 第一关 手工注入 第二关 手工注入 第三关 手工注入 第四关 手工注入 第五关 手工注入 第一关 手工注入 判断是否存在注入 第二关 手工注入 判断是否存在注入以及注入
  • RBAC权限详解

    1 传统的权限设计 首先 我们先了解下什么是传统的权限设计 从上面的图中 我们发现 传统的权限设计是对每个人进行单独的权限设置 但这种方式已经不适合目前企业的高效管控权限的发展需求 因为每个人都要单独去设置权限 2 RBAC权限详解 基于此
  • 有了这款可视化算法项目,算法不再难!

    我的新书 Android App开发入门与实战 已于2020年8月由人民邮电出版社出版 欢迎购买 点击进入详情 GitHub严选 每天推荐一个GitHub优质开源项目 从不奢求生活能给予我最好的 只是执着于寻求最适合我的 大家好 我是严选哥
  • SpringBoot整合SpringData JPA详解

    本篇文章主要记录SpringBoot整合SpringData JPA 感兴趣的小伙伴和小编一起来学习吧 目录 1 添加依赖 2 编写一个实体类 3 编写一个Dao接口来操作实体类对应的数据表 4 application配置 5 编写接口 1
  • 分布式秒杀案例讲解教程文档

    程序员ken 一 准备工作 1 1 vmware软件安装 虚拟机 相关教程 http c biancheng net view 714 html 网络配置这块 1 进入网络配置文件目录 cd etc sysconfig network sc
  • 产品经理针对用户访谈获得的信息该如何理解吸收

    核心 他人的负反馈 吐槽 要认可 他人的正反馈 认可 要谨慎 以产品规划阶段为例 我们打算做一个产品 为了论证市场价值 我们会找相关的客用户开展用户访谈 根据事先准备的访谈大纲开展访谈 收集信息很容易 如何筛选 分析信息 这才是难点和关键
  • UE4数据写入Json格式

    用UE4写入Json很简单只需要使用 TSharedPtr
  • 散列(哈希)表

    1 如何构造散列函数 总结三点散列函数设计的基本要求 1 散列函数计算得到的散列值是一个非负整数 下标从0开始 2 如果key1 key2 那么hash key1 hash key2 相同的key经过hash 得到的散列值应该是相等的 3
  • 力扣刷题记录 -- JAVA---137--84. 柱状图中最大的矩形

    目录 一 题目 二 代码 三 运行结果 一 题目 二 代码 class Solution 类比贪心 局部最优到全局最优 左边第一个小于的下标 右边第一个小于的下标 public int largestRectangleArea int he
  • LeetCode-321.拼接最大数、单调栈

    给定长度分别为 m 和 n 的两个数组 其元素由 0 9 构成 表示两个自然数各位上的数字 现在从这两个数组中选出 k k lt m n 个数字拼接成一个新的数 要求从同一个数组中取出的数字保持其在原数组中的相对顺序 求满足该条件的最大数
  • Ubuntu系统查看镜像源并使用阿里云的镜像源

    Ubuntu系统查看镜像源并使用阿里云的镜像源 前言 查看系统镜像源 修改系统镜像源 测试与更新 前言 Ubuntu 使用 apt 管理系统级的包 软件非常方便 但由于这些托管包 软件的中央仓库基本都位于美国 所以对于国内用户来说因为洲际网
  • Windows powershell 正确初始化anaconda

    我安装的conda为miniconda 安装在E miniconda下 首先 在powershell中输入 powershell ExecutionPolicy ByPass NoExit Command E miniconda shell
  • springBoot输出日志到指定目录

    以输出日志文件到D data log为例 版本一 一 在application properties加上如下配置 logging path D data log logging config classpath logback spring
  • Vue自定义指令

    目录 1 自定义指令注册 1 1 全局注册 1 2 局部注册 2 自定义指令写法 2 1 对象式 常用 2 2 函数式 3 总结 1 自定义指令注册 1 1 全局注册 Vue directive name 1 2 局部注册 directiv