Dart 注册聚合物类名

Dart 注册聚合物类名,dart,dart-polymer,Dart,Dart Polymer,所以我一直在尝试将一个polymerement动态添加到另一个polymerement mypolylem newRow=newmypolylem(); (作为MyPolylem的新行)。type=type;//->例外情况 panelBody.append(newRow); 异常:未捕获错误:类型“HtmlElement”不是类型转换中类型“MyPolyElem”的子类型。 如果我尝试访问type,它会说newRow是一个HtmlElement,没有“type”。如果我尝试强制转换它,它说它

所以我一直在尝试将一个polymerement动态添加到另一个polymerement

mypolylem newRow=newmypolylem();
(作为MyPolylem的新行)。type=type;//->例外情况
panelBody.append(newRow);
异常:未捕获错误:类型“HtmlElement”不是类型转换中类型“MyPolyElem”的子类型。

如果我尝试访问type,它会说newRow是一个HtmlElement,没有“type”。如果我尝试强制转换它,它说它不是HtmleElement的子类型

@CustomTag('poly-elem'))
类MyPolylem扩展了聚合关系{
@已发布字符串type=“int”;
附页(){
super.attached();
}
factory MyPolyElem()=>document.createElement(“poly elem”);
MyPolyElem.created():super.created(){}
}

显然,如果我动态创建一个聚合元素,它就是一个HtmleElement。如果我在HTML中编写标记并查询它,这就是MyPolyem。所以我想知道如何为这个标签注册类名

动态创建的元素可以像声明性添加的元素一样强制转换。
我很确定这在你们的情况下不起作用,因为聚合物还没有完全初始化

有关如何在使用自定义
main()
方法时正确初始化聚合物,请参阅

我从未使用
document.createElement()
动态创建聚合元素。我改用了
newelement.tag('xxx-yyy')
。如果
main()
方法不是原因,您可以尝试此方法(另请参阅)


即使是动态创建,您也需要添加一个导入,就像装饰性地添加它一样。

如果不是从
main()
?它是从一个函数调用的,该函数由另一个CustomElement的按钮调用。tag(..)返回一个HtmleLementt实际上就是这样。。。我没有导入html,因为我没有在html文件中使用标记。。。