Dart异常:已注册元素x的(聚合物)原型



我有两个共享同一dart文件的聚合物元素。在dart文件中,我声明了两个PolymerElement类。

在聚合物0.15.0+1之前,它一直工作良好。我已经将项目更新为聚合物0.15.1,现在我得到了这个例外:

Exception: Already registered (Polymer) prototype for element x

其中x是第一种聚合物。

我认为聚合物转换器尝试注册它两次,第一次扫描x聚合物html文件,第二次扫描其他元素html文件。

dart中存在一个问题:https://code.google.com/p/dart/issues/detail?id=21332

我不知道Dart之类的东西,但我的控制台中也有同样的错误消息。事实证明,我的元素声明中仍然有noscript属性,如果您想手动注册元素,这是错误的。从元素声明中删除noscript解决了问题。

随着聚合物飞镖0.15.1+2的发布,问题已经"解决"。

编译器现在发出警告,正如问题评论中所说:"对你来说,真正的解决方案应该是把你的脚本文件放在自己的html文件中,并导入它而不是你的脚本。总之,你必须创建一个html文件(例如script_thats_used_multiple_times.html),其中包含以下内容:

<!DOCTYPE html>
<script type="application/dart" src="script_thats_used_multiple_times.dart"></script>

当然,从之前使用该文件的所有聚合物组件中删除原始文件,并将导入文件置于之上

<link rel="import" href="script_thats_used_multiple_times.html">

其将导入先前创建的HTML文件。易于理解的"

最新更新