Dart 如何实现ControlValueAccessor将属性从num转换为字符串,反之亦然
我试图绑定num类型的属性,但angular2抱怨调度转换(num到string)是非法的。我知道哪里可以使用ControlValueAccessor,但缺乏这样做的知识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
<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。如果将输入的模型字段定义为typenum
,则默认情况下该字段有效<对于从浏览器传递的值,无论如何都应该避免在浏览器中使用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”是什么意思。你能在答案中加上你的例子吗?我明天会公布我的样本。我的电脑现在坏了。