Wie oben erwähnt, möchten Sie eine Pipe verwenden. Sie können eine Pipe mit der folgenden Syntax erstellen und dann einfach die Pipe zu Ihrer Komponente hinzufügen, indem Sie die pipes
-Eigenschaft auf dem Komponenten-Decorator verwenden.
@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 diesem Fall würde ich auf dem Eingang zu dem Fokus und Unschärfe Ereignisse hören empfehlen
@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
}
}
Erstellen Sie eine Pipe: https://angular.io/docs/ts/latest/guide/pipes.html –