我基本上想要创建一个<core-tooltip>
标记,而不是HTML,但是在dart。
所以我试过了:
CoreTooltip tooltip = new CoreTooltip();
CoreTooltip tooltip = document.createElement("core-tooltip"):
CoreTooltip tooltip = new Element.tag("core-tooltip"):
始终具有相同的异常
未捕获错误:输入&#39; HtmlElement&#39;不是CoreTooltip&#39;
类型的子类型
为什么这不起作用?
答案 0 :(得分:0)
您不应该使用此方法
document.createElement("core-tooltip"):
其他两个都很好。
我假设元素创建失败,因为代码在自定义main中,并且在Polymer完成初始化之前执行。
有关详细信息,请参阅how to implement a main function in polymer apps。
如果您在Polymer元素中执行代码(例如attached()
之后的super.attached()
方法)或on-click
之类的事件处理程序,这将有效。
另一种可能性是,您的应用程序缺少导入<core-tooltip>
的HTML导入。如果没有导入,这也无法正常工作。
我尝试使用此代码,它对我有用
import 'dart:html' as dom;
import 'package:polymer/polymer.dart';
import 'package:core_elements/core_tooltip.dart';
@CustomTag('app-element')
class AppElement extends PolymerElement {
AppElement.created() : super.created() { }
@PublishedProperty(reflect: true) bool isValidationError;
void attached() {
super.attached();
CoreTooltip tt = new CoreTooltip();
print(tt);
}
}
<link rel="import" href="../../packages/polymer/polymer.html">
<link rel="import" href="../../packages/core_elements/core_tooltip.html">
<polymer-element name="app-element">
<template>
</template>
<script type="application/dart" src="app_element.dart"></script>
</polymer-element>