Der folgende Code funktioniert in Dartium aber löst eine Ausnahme in der letzten Firefox und Rand:Woher weiß ich, wann Polymer Dart vollständig initialisiert ist?
initPolymer().then((Zone z) {
(document.getElementById("fooDialog") as PolymerElement)
.set("opened", true);
});
Wo fooDialog
im Körper des Dokuments individuellen Polymerelement ist. Die Nachricht von der Ausnahme:
Casting value of type HtmlElement to incompatible type PolymerElement
Das Problem verschwindet, wenn ich neu schreiben sie:
initPolymer().then((Zone z) {
new Future.delayed(new Duration(seconds: 5),() {
(document.getElementById("fooDialog") as PolymerElement)
.set("opened", true);
});
});
So gues ich, dass ich nenne set
früh. Woher weiß ich, wann Polymer in letzter Zeit von Dartpolymer (dart sdk 1.15.0, Polymer 1.0.0-rc.16) vollständig initialisiert wurde?
Um Ihr Beispiel unter Windows zu erstellen, musste ich die Abhängigkeiten zu 'polymer:^1.0.0-rc.16',' polymer_elements:^1.0 ändern. 0-rc.8', 'reflectable:^0.5.1',' web_components:^0.12.0' (wenn ich sie nicht ändere, bekam ich 'ungültige Argument (e): Unzulässiges Zeichen im Pfad 'während des Builds) . Danach kann ich das Problem in FF und Edge reproduzieren. – kolar
Ok, ich werde es noch einmal überprüfen. –
Ich habe versucht mit Iceweasel 38.6.1 und Microsoft Edge 34.14295.1000.0 und kann nicht reproduzieren. Die von Ihnen geposteten Versionsbeschränkungen sind nicht sehr hilfreich. '^ 1.0.0-rc.8' könnte immer noch' 1.0.0-rc.16' holen. Ich würde die Versionen benötigen, die tatsächlich von 'pub upgrade' geholt werden. Führen Sie 'pub upgrade' aus und holen Sie die aufgelisteten Versionen aus der Ausgabe oder checken Sie' pubspec.lock' ein. Es könnte sich lohnen, das '.pub'-Verzeichnis zu löschen und es erneut zu versuchen. –