gpt4 book ai didi

templates - Dart 聚合物 'does not have default constructor'

转载 作者:行者123 更新时间:2023-12-03 04:30:40 25 4
gpt4 key购买 nike

我有几个模板(聚合物和 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() { }
}

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

最佳答案

如果你想创建一个 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');
}
}

关于templates - Dart 聚合物 'does not have default constructor',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28031704/

25 4 0