dart - 注册聚合物类别名称

标签 dart dart-polymer

因此,我一直在尝试将PolymerElement动态添加到另一个PolymerElement。



 MyPolyElem newRow = new MyPolyElem();
  (newRow as MyPolyElem).type = type;  // -> Exception
  panelBody.append(newRow); 
Exception: Uncaught Error: type 'HtmlElement' is not a subtype of type 'MyPolyElem ' in type cast.
如果我尝试访问类型,它说newRow是一个HtmlElement,没有“类型”。如果我尝试转换它,则说它不是HtmlElement的子类型。

@CustomTag('poly-elem')
class MyPolyElem extends PolymerElement {
    @published String type = "int";

    void attached() {
        super.attached();
    }
    factory MyPolyElem() => document.createElement("poly-elem");
    MyPolyElem.created() : super.created() {}
}

显然,如果我动态创建一个Polymer Element,则它是一个HtmlElement。如果我将HTML作为标记编写并对其进行查询,则其为MyPolyElem。因此,我想知道如何为该标签注册类的名称。

最佳答案

动态创建的元素可以像声明性添加的元素一样强制转换。
我很确定这不适用于您的情况,因为Polymer尚未完全初始化。

如果您具有自定义的main()方法,请参见how to implement a main function in polymer apps以了解如何正确初始化Polymer。

我从未使用document.createElement()动态创建Polymer元素。我改用了new Element.tag('xxx-yyy')。如果不是main()方法,则可以尝试这样做(另请参见Dynamically create polymer element)

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

关于dart - 注册聚合物类别名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27907300/

相关文章:

eclipse - 安装 dart 插件后 dart-eclipse 插件崩溃

dart - 设置所选的纸制标签

cordova - 使用酒吧服务从Cordova运行Polymer Dart

mysql - SqlJocky 的 ConnectionPool 是否需要关闭

flutter - 如何在Flutter中使用自定义小部件

javascript - dart 递归类方法总是返回 null

dart - 如何重新排列 polymer 模板化的内容?

json - 如何在 Flutter 中的轮播( slider )中显示来自 JSON 文件的图像

algorithm - 查找和为 100 的 4 个正整数的所有列表

dart - 删除Dart中的Polymer对象的所有其他实例上的类?