角反应形式数据转换

时间:2020-02-28 14:37:55

标签: angular angular-material

我有来自服务器的数据,这些数据以米为单位格式化,但是在界面中,我需要以英寸为单位进行显示和编辑,然后以米为单位再次将其发送回服务器。 有一些技术可以动态处理转换,例如使用绑定到formControl的转换函数或其他方法? 我正在使用角形材料组件。

预先感谢

2 个答案:

答案 0 :(得分:0)

您可以使用 Angular Pipes 转换数据,然后在界面(视图)中显示它们。

管道是有角度的装饰类,它实现一个转换函数,该函数将数据作为输入,并将其转换为所需的输出,并向用户显示(可以将它们添加到HTML中)。您可以阅读关于here的更多信息,并根据需要编写自定义管道。

答案 1 :(得分:0)

最好的方法之一是实际使用指令转换为英寸,这样您就不必担心服务器数据了。

类似这样的东西:

<form [formGroup]="newForm" (ngSubmit)="onSubmit()">
 <input formatData formControlName="data"/>
</form>

onSubmit() {
// ...conversion back to meters
}

我正在使用反应性表单,因为它更具动态性,并且在动态构建表单时会用到很多东西,但是您也可以使用模板表单。