Angular 如何更改角度中的视图值?

Angular 如何更改角度中的视图值?,angular,angular-directive,Angular,Angular Directive,我为百分比字段创建了一个属性指令,以便能够处理小数。我想禁用向输入字段添加小数。它起作用了。但是后端将模糊后的值添加到,00,我想删除后端添加的,00 输入字段: <input type="text" #formItem [name]="id" [id]="id" class="form-control" [ngModel]="value" (blur)="change.emit(

我为百分比字段创建了一个属性指令,以便能够处理小数。我想禁用向输入字段添加小数。它起作用了。但是后端将模糊后的值添加到
,00
,我想删除后端添加的
,00

输入字段:

<input type="text"
#formItem
[name]="id"
[id]="id"
class="form-control"
[ngModel]="value"
(blur)="change.emit(formItem.value)"
removeDecimals="true" />
所以尝试在指令中添加类似的内容,从视图中删除,00,但没有成功

@HostListener('blur') onBlur() {
    let formatValue = this.el.nativeElement.value;

    const index = formatValue.indexOf(',');
    if (index > -1) {
        formatValue = this.el.nativeElement.value.slice(0, index);
    }

    this.renderer2.setProperty(this.el.nativeElement, 'value', formatValue);
}
因此,当我在输入字段中输入一个值时,不可能添加小数,只能添加正确的数字。但当我离开该字段时,它会从后端添加
,00

如何删除模糊后从后端添加到输入字段的
,00

u可以为您的模型使用自定义管道

[ngModel]="value | num"
你的定制烟斗

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'num'
})
export class SafePipe implements PipeTransform {

 
 public transform(value: any) {
    return value.split(",")[0]
  }
}

您是否正在使用onBlur()函数?是否只想隐藏在视图中,并且,00将是原始值?@Thalaivar是的,onBlur可以工作,但视图中的值仍然是,00。@pc_编码器隐藏,并且该值必须没有,00正是我搜索的值。在指令中也可以这样做吗?
import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'num'
})
export class SafePipe implements PipeTransform {

 
 public transform(value: any) {
    return value.split(",")[0]
  }
}