当前位置: 首页 > news >正文

vue自定义指令以及angular自定义指令(以禁止输入空格为例)

哈喽,小伙伴们,大家好啊,最近要实现一个vue自定义指令,就是让input输入框禁止输入空格

  1. 建立一个directives的指令文件,里面专门用来建立各个指令的

  1. 官方文档:

  1. 自定义指令 | Vue.js (vuejs.org)

  1. 我们都知道vue中有常见得指令 比如v-show v-for v-if v-on v-blind

  1. vue还可以允许你注册自定义得指令(英文custom Directives

我们已经介绍了两种在 Vue 中重用代码的方式:组件组合式函数。组件是主要的构建模块,而组合式函数则侧重于有状态的逻辑。另一方面,自定义指令主要是为了重用涉及普通元素的底层 DOM 访问的逻辑。

一个自定义指令由一个包含类似组件生命周期钩子的对象来定义。钩子函数会接收到指令所绑定元素作为其参数。下面是一个自定义指令的例子,当一个 input 元素被 Vue 插入到 DOM 中后,它会被自动聚焦:(vue片段原话)

import Vue from 'vue';Vue.directive('input-no-space', {inserted(el) {// 监听键盘落下的事件,禁止输入空格// 监听输入事件,以防如果有带有空格的文本粘贴进来,可以给予替换el.addeventListenser('input',(e) => {})}
})

vue中demo

const focus = {mounted:(el) => el.focus()
}export default {directives: {// 在模板中启用v-focusfocus}
}<input v-focus/>

对于自定义指令来说,一个很常见的情况是仅仅需要在mounted和updated上事项相同的行为

<div v-color="color"></div>app.directive('color',(el,blinding) => {// 这会在mounted和updated时调用el.style.color = binding.value
})

对象字面量

如果你的指令需要多个值,你可以向它传递一个js对象字面量

<div v-demo="{color: 'white',text: 'hello!'}"></div>app.directive('demo',(el,binding) => {console.log(binding.value.color)// whiteconsole.log(binding.value.text)// hello
})

angular自定义指令:

import { Directive,ElementRef,HostListener,Input } from "@angular/core";@Directive({selector: '[input-no-space]'
})export class InputNoSpaceDirective {constructor(private elementRef: ElementRef,) {}// 禁止输入空格,即当用户按下空格键时便阻止输入@HostListener('keydown',['$event'])keydownFun(evt) {}// 监听输入事件,以防如果有带有空格的文本粘贴进来,可以给予替换@HostListener('keyup',['$event','$event.target'])keyupFun(evt,target) {}
}

好了,今天的文章就写到这里了

http://www.lryc.cn/news/27803.html

相关文章:

  • 异常 复习
  • K8s:开源安全平台 kubescape 实现 Pod 的安全合规检查/镜像漏洞扫描
  • C#中,FTP同步或异步读取大量文件
  • STM32单片机的FLASH和RAM
  • Java 二叉树的遍历
  • 实习日记-C#
  • Tech Lead如何引导团队成员解决问题?
  • 07--组件
  • 怎么做好一个完整的项目复盘
  • 浅谈一下mysql8.0与5.7的字符集
  • paddle推理部署(cpu)
  • 想开发IM集群?先搞懂什么是RPC!
  • 案例13-前端对localStorage的使用分析
  • CNNIC第51次中国互联网络发展状况统计报告用户规模变化发布、解读与白杨SEO看法
  • 【数据结构】单链表的实现
  • 从0到1做产品!产品设计的6个步骤
  • ESP32遥控器软硬件设计
  • vue-template-admin的keep-alive缓存与移除缓存
  • 【人工智能 AI】机器学习快速入门教程(Google)
  • 适配器模式
  • 00后跨专业学软件测试,斩获8.5K高薪逆袭职场
  • 数据结构和算法学习
  • 剑指 Offer II 012. 左右两边子数组的和相等
  • Java货物摆放
  • 计算机求解满足三角形各边数字之和相等的数字填充
  • python魔术方法
  • 从0开始学python -48
  • 当面试官问我前端可以做的性能优化有哪些
  • 一文读懂Java/O流的使用方法和技巧
  • AI for Science系列(二):国内首个基于AI框架的CFD工具组件!赛桨v1.0 Beta API介绍以及典型案例分享!