我使用textMask
节点模块格式化表单的输入标记。我遵循了Git存储库中的所有指令,模块完美地完成了。但是当我尝试运行组件测试时,它会说:Error: Template parse errors: Can't bind to 'textMask' since isn't a known property.
。为什么我有这个问题?这是我的HTML模板:
<input [textMask]="{mask: cpfMask}" type="text" id="inputCpf" required pattern="^[0-9]{3}\.[0-9]{3}\.[0-9]{3}\-[0-9]{2}$" name="inputCpf" [(ngModel)]="user.identification.value" #inputCpf="ngModel">
这是我的 user.component.ts :
@Component({
selector: 'app-user',
templateUrl: './user.component.html',
styleUrls: ['./user.component.css'],
providers: [RegisterUserService, TokenManagerService]
})
export class UserComponent implements OnInit {
private user: User;
private error: string;
private id: string;
private credential: Credential;
public cpfMask = [/\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, '-', /\d/, /\d/];
这是我的 app.module.ts:
import { TextMaskModule } from 'angular2-text-mask';
@NgModule({
imports: [
BrowserModule,
HttpClientModule,
HttpModule,
FormsModule,
TextMaskModule,
...
我已经访问了SO中讨论此问题的其他几个主题,但他们的解决方案并没有解决我的问题。
主题1:text-mask is not working for angular 2
主题2:Can't bind to 'x' since it isn't a known property of 'input' Angular 2
答案 0 :(得分:1)
我的看法是as in this guide,这是一个配置不当的测试问题。您希望根据能够使用外部指令来配置您的测试环境。
答案 1 :(得分:0)
您必须导入模块TextMask。用我的方法工作。
import { TextMaskModule } from 'angular2-text-mask';
/../
imports: [ ...
TextMaskModule,
]
答案 2 :(得分:0)
即使在 TestBed
中导入模块时,我也遇到了这个问题。后来我注意到这个问题只在本地重现,但在 CI 上通过了测试。要在本地解决此问题,您需要再次删除并安装 node_modules