<input type =“number”/>生成错误

时间:2016-02-13 21:52:50

标签: dart angular angular2-forms

我有以下代码片段

html的

SELECT 
  author, link_id, COUNT(link_id) as cnt
FROM (
  SELECT * 
  FROM
    [fh-bigquery:reddit_comments.2015_12],
    [fh-bigquery:reddit_comments.2015_11]
  )
WHERE link_id IN (
  SELECT posts.name
  FROM [fh-bigquery:reddit_posts.full_corpus_201512] AS posts
  WHERE posts.subreddit = 'politics'
  ORDER BY posts.created_utc DESC
  LIMIT 300
)
GROUP BY author, link_id
ORDER BY author

.dart

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

我尝试运行该应用程序会出现以下错误(部分)

class Age
{
  int years = 0;
}

class AgeComponent {
....
  AgeComponent( FormBuilder fb, ModelService
  ageSrvc) {
    ageForm = fb.group( {
      'yearsCtrl': [''],
    } );
    _yearsCtrl = ageForm.controls['yearsCtrl'];

    age = new Age()
  }

...

}

似乎没有处理type =“num”。我怀疑age int也可能是一个问题,因为它是一个int但需要一个字符串。从sting回到int的反向转换也可能是一个问题。

感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:0)

该字段必须是String类型。 Angular不会转换该值。

Polymer dart: Data bind integer value to String attribute类似

另见

自定义值访问器可能有所帮助。有关示例,请参阅此Plunker 组件Address使用writeValue(v)registerOnChange(fn)registerOnTouched(fn)

实现ControlValueAccessor