Dart聚合物没有默认构造函数'

时间:2015-01-19 18:59:22

标签: templates constructor dart dart-polymer

我有几个模板(Polymer和Dart)工作正常。但我无法理解Dart编辑器在我(另一个)模板中有(我的)模板的情况下抱怨。 我有一个“工作人员”的模板 - 它扩展了PolymerElement 我有一个“人”的模板 - 它扩展了PolymerElement 我不能在“工作人员”中动态创建一个“人”,抱怨:人'没有默认构造函数' 这是我的员工代码:

import 'package:polymer/polymer.dart';
import 't_person.dart';
@CustomTag('t-staff')
class tstaff extends PolymerElement {
   tstaff.created() : super.created() {}
void addPersonButton(){
   tPerson tpe = new tPerson(); //ERROR HERE 'tPerson does not have default constructor'
    ....

这是我的tPerson代码(没有错误):

import 'package:polymer/polymer.dart';
@CustomTag('t-person')
class tPerson extends PolymerElement {
  tPerson.created() : super.created() {   }
 }

我不允许以这种方式使用模板吗?儿童模板的深度是否有限制?

1 个答案:

答案 0 :(得分:2)

如果要创建Polymer元素的新实例,则需要执行new Element.tag('t-person'); 如果将其添加到默认构造函数中,您将获得更方便的方法。

@CustomTag('t-person')
class tPerson extends PolymerElement {

  tPerson.created() : super.created();

  factory tPerson tPerson() {
    return new Element.tag('t-person');
  }
}