Angular 2 directive for input text masking
npm install angular2-text-maskFirst, install it.
``bash`
npm i angular2-text-mask --save
Then, import it into your @NgModule:
`typescript
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { TextMaskModule } from 'angular2-text-mask';
@NgModule({
imports: [
FormsModule,
TextMaskModule
],
declarations: []
})
export class MyModule {}
`
Then, use it in your component:
`typescript
@Component({
selector: 'app',
template:
`
})
export class AppComponent {
public myModel = ''
public mask = ['(', /[1-9]/, /\d/, /\d/, ')', ' ', /\d/, /\d/, /\d/, '-', /\d/, /\d/, /\d/, /\d/]
}
As you can see in the code above, you are passing an object to the textMask directive.
📍 For more information about the values that the textMask object accepts, see
this page.
#### Other use-cases
##### Unmasking the value that is stored in the model
Text Mask does not provide an option to unmask the model before storing it. You can sanitize the model on your
side. See here for details.
##### change doesn't work
change on an input field will not work if [text-mask] is present. You can use (ngModelChange) instead. For more
information, see this page.
To see an example of the code running, follow these steps:
1. Clone the repo, git clone git@github.com:text-mask/text-mask.gitcd text-mask
1. cd angular2
1. npm install
1. npm start
1.
1. Open http://localhost:3000
The code of the example is in angular2/example.
at this point as it overrides the ControlValueAccessor` that Text Mask requires to perform its job.