Come Mark ha commentato sopra, si desidera utilizzare una pipe. È possibile creare un tubo usando la seguente sintassi, quindi aggiungere semplicemente il tubo al componente usando la proprietà pipes
sul decoratore del componente.
@Pipe({name: 'commaSeparatedNumber'})
export class CommaSeparatedNumberPipe implements PipeTransform {
transform(value:number, args:string[]) : any {
return // Convert number to comma separated number string
}
}
@Component({
...
template: `
<div *ngIf="!editing">{{number | commaSeparatedNumber}}</div>
<input type="number" [(ngModel)]="number" />
`,
pipes: [CommaSeparatedNumberPipe]
})
class MyComponent{
public editing: boolean;
public number: number;
...
}
UPDATE
In questo caso mi sento di raccomandare ad ascoltare gli eventi di attivazione e di sfocatura sull'ingresso
@Component({
...
template: `<input type="text" [(ngModel)]="number"
(focus)="removeCommas()" (blur)="addCommas()" />`
})
class MyComponent{
number: string;
removeCommas(){
this.number = this.number.replace(',', '');
}
addCommas(){
this.number = // Convert number to comma separated number string
}
}
Creare una pipe: https://angular.io/docs/ts/latest/guide/pipes.html –