Dart 如何实现ControlValueAccessor将属性从num转换为字符串,反之亦然

Dart 如何实现ControlValueAccessor将属性从num转换为字符串,反之亦然,dart,angular,angular2-forms,Dart,Angular,Angular2 Forms,我试图绑定num类型的属性,但angular2抱怨调度转换(num到string)是非法的。我知道哪里可以使用ControlValueAccessor,但缺乏这样做的知识 <input type="number" min = "0" max = "120" #yearsCtrl = "ngForm" [ngFormControl] = "ageForm.controls['yearsCtrl']" [(ngModel)] = "a

我试图绑定num类型的属性,但angular2抱怨调度转换(num到string)是非法的。我知道哪里可以使用ControlValueAccessor,但缺乏这样做的知识

     <input type="number"
     min = "0"
     max = "120"
     #yearsCtrl = "ngForm"
     [ngFormControl] = "ageForm.controls['yearsCtrl']"
     [(ngModel)] = "age.years"
     id = "years">

有人知道如何使用ControlValueAccessor将ngModel num(age.years)转换为字符串以在浏览器中显示,并将字符串转换回num以存储吗


我真的不想将我的模型属性转换为字符串来实现这一点。

如果您将输入的模型字段定义为type
num
,则默认情况下它可以工作<对于从浏览器传递的值,无论如何都应避免在浏览器中使用code>int。

如果将输入的模型字段定义为type
num
,则默认情况下该字段有效<对于从浏览器传递的值,无论如何都应该避免在浏览器中使用code>int。

是否尝试使用管道?@Julien Alary:是的。导致了错误。但管道是单向转换的。当模型更新时,字符串->数字转换是如何发生的?你用管道试过了吗?@Julien Alary:是的。导致了错误。但管道是单向转换的。当模型更新时,字符串->数字转换是如何发生的?num不起作用。错误与以前一样
原始异常:“int”类型不是“s”类型“String”的子类型。
看起来不像是从
int
更改为
num
。我创建了一个示例项目,效果很好。Angular2包含一个
NumberValueAccessor
,一个断点显示调用了它的转换函数,并将值分配给
num
字段。是否使用sn
字段或其他元素?Günter Zöchbauer:请查看上面输入类型(=数字)的编辑。“sn”是什么意思。你能在答案中加上你的例子吗?我明天会公布我的样本。我的计算机当前出现故障。num无法工作。错误与以前一样
原始异常:“int”类型不是“s”类型“String”的子类型。
看起来不像是从
int
更改为
num
。我创建了一个示例项目,效果很好。Angular2包含一个
NumberValueAccessor
,一个断点显示调用了它的转换函数,并将值分配给
num
字段。是否使用sn
字段或其他元素?Günter Zöchbauer:请查看上面输入类型(=数字)的编辑。“sn”是什么意思。你能在答案中加上你的例子吗?我明天会公布我的样本。我的电脑现在坏了。