我的问题是我想创建一个名为date-input的指令,它可以应用于html输入字段 .

在这个自定义日期输入中,我想要将其他模块中的其他指令添加到同一输入中 . 例如,我在这里使用textMask https://github.com/text-mask/text-mask/tree/master/angular2

我不想在我的应用程序中应用自定义蒙版,而是想添加我自己的指令,将其应用于我的所有输入,如果需要更改,我只需要更改我的1指令,而不是所有的地方我已经实现了这段代码 .

使用textMask我目前必须为数字字段执行所有这些操作,更不用说在设置我的ngModel时取消屏蔽该值 . 我不想在我的网站上复制所有组件的代码,这些想法一个简单的指令会很棒 .

HTML

<input type="text" class="form-control" 
       [(ngModel)]="inputValue" [textMask]="{mask: mask, guide: false}" />

MY TYPESCRIPT

import { Component, Input, OnChanges } from '@angular/core';

import createNumberMask from 'text-mask-addons/dist/createNumberMask.js';

export class NumberComponent {
    mask = createNumberMask({
                    prefix: '',
                    suffix: '',
                    decimalLimit: 0
                });
    inputValue: string = '';

    unmask(val) {
        let value = val.replace(/\D+/g, '');

        if (value == '') {
            return null;
        } else {
            return +value;
        }
    }
}

我想创建一个名为“number-input”的简单指令,它将在运行时将[textMask] =“{mask:mask,guide:false}”添加到输入中 .

可以这样做吗?