Angular2 - 创建一个注入NgModel但不能与NgControl一起使用的掩码

时间:2016-04-07 03:31:10

标签: angularjs typescript angular masking

我试图通过注入Angular2NgModel中创建一个掩码指令。但是,当指令放在带有ngControl的标记中时,会抛出异常:

  

angular2.dev.js:23877 EXCEPTION:没有NgModel的提供者! (MaskDirective - > NgModel)

HTML:

<input type="text" class="form-control" id="telephone" name="telephone" placeholder="123-456-7890" [(ngModel)]="contactInfo.telephone" required ngControl="telephone" #telephone="ngForm" mask-input="(***) ***-****" [modify]="contactInfo.telephone"/>

组件构造函数:

constructor(public model: NgModel, public ele: ElementRef, @Attribute("mask-input") maskPattern: string) {
    this.dividers = maskPattern.replace(/\*/g, "").split("");
    this.dividers.push("_");
    this.generatePattern(maskPattern);   
    this.numOfChar = 0;
}

这是羽毛球:https://plnkr.co/edit/TlVWlQL2FpDeuoAMiy6z?p=preview

注入NgControl并不能访问模型值。推荐的解决方案是什么?

提前致谢!

0 个答案:

没有答案