以下代码在Dartium中有效,但在最近的Firefox和Edge中引发了一个异常:
initPolymer().then((Zone z) {
(document.getElementById("fooDialog") as PolymerElement)
.set("opened", true);
});
其中fooDialog
是文档主体中的自定义聚合物元素。来自异常的消息:
Casting value of type HtmlElement to incompatible type PolymerElement
当我把它重写为:时,问题就消失了
initPolymer().then((Zone z) {
new Future.delayed(new Duration(seconds: 5), () {
(document.getElementById("fooDialog") as PolymerElement)
.set("opened", true);
});
});
所以我想我应该早点给set
打电话。我怎么知道在最近的dart聚合物的rc中聚合物何时完全初始化(dart sdk 1.15.0,聚合物1.0.0-rc.16)?
我无法复制。另请参阅https://github.com/bwu-dart-playground/polymer1/blob/269a9746e6c0cd5ba6ceec81b3bb4c3126135be1/so36384493_wait_for_polymer_initialized/web/index.dart#L10-L10.脚本标记可能存在一些问题,导致出现奇怪的定时问题