时间:2021-05-28
1、建立一个独立模块用于作为公用指令的模块
1)生成模块
ng g m directive2)进入指令模块目录
cd directive3)生成一个只能输入数字的指令类
ng g d numberinput4)指令模块directive.module.ts代码如下
import { NgModule, ModuleWithProviders } from '@angular/core';import { CommonModule } from '@angular/common';import { NumberinputDirective } from './numberinput.directive';@NgModule({ imports: [ CommonModule ], declarations: [NumberinputDirective], exports:[ // 使引用该模块的类可以使用该指令 NumberinputDirective ]})export class DirectiveModule { }5)指令类numberinput.directive.ts代码如下
@Directive({ selector: 'input[numberInput]'})export class NumberInputDirective { // tslint:disable-next-line: no-input-rename @Input('numberInput') numberType: string; constructor(private el: ElementRef) {} @HostListener('input', ['$event.target.value']) onChange(value: string): void { if (this.numberType.length < 1) { this.updateIntegerValue(value); } else { this.el.nativeElement.value = value.replace(/[^\d.]/g, ''); } } @HostListener('blur', ['$event.target.value']) onBlur(value: number): void { if (this.numberType.length >= 1) { this.updateFloatValue(value); } } updateIntegerValue(value: string): void { this.el.nativeElement.value = value.replace(/[^\d]/g, ''); } updateFloatValue(floatValue: number): void { const value = String(floatValue); const reg = /^-?(0|[1-9][0-9]*)(\.[0-9]*)?$/.test(value); const numBegin = /^\d/.test(value); const numEnd = /\d$/.test(value); if (reg && numBegin && numEnd) { this.el.nativeElement.value = value; } else { this.el.nativeElement.value = 0; } }}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
AngularJSng-value指令AngularJS实例设置输入框的值:varapp=angular.module('myApp',[]);app.cont
本文实例讲述了angular实现的输入框数字千分位及保留几位小数点功能。分享给大家供大家参考,具体如下:网上查到一个关于千分位的指令,我稍微做了点完善,通用指令
本文实例为大家分享了Vue.js数字输入框组件的具体实现代码,供大家参考,具体内容如下效果入口页index.html数字输入框组件数字输入框组件input-nu
AngularJSng-change指令AngularJS实例当输入框的值改变时执行函数:在输入框中输入一些信息:输入框已经修改了{{count}}次。angu
ENTER键可以让光标移到下一个输入框只能是中文屏蔽输入法只能输入英文和数字只能是数字只能显示,不能修改只能输数字,判断按键的值复制代码代码如下:functio