我已经定义了登录元素如下:

<polymer-element name="my-login" extends="form">
  <template> ...</template>

和 Dart 类如下:

@CustomTag('my-login')
  class MyLogin extends PolymerElement { .... }

在主应用程序组件中,我尝试按如下方式创建 my-login:

 MyLogin p =  new Element.tag("my-login", "FormElement");

这会产生异常:

异常(exception):“HtmlElement”类型不是“p”的“MyLogin”类型的子类型。

如果从聚合物元素声明中删除“extends=form”,则代码有效:

 <polymer-element name="my-login">

并创建如下:

MyLogin p =  new Element.tag("my-login");

如何动态创建扩展其他 HTML 元素的自定义元素?

最佳答案

你应该将它实例化为

Element y = new Element.tag('form', 'my-login');

似乎不起作用的是

MyLogin y = new Element.tag('form', 'my-login');

这应该导致插入元素的 HTML

<form is="my-login"></form>

关于dart - 动态创建聚合物元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20474071/

10-13 21:29