Dart异常:已经为元素x注册了(Polymer)原型

Fed*_*dy2 6 dart polymer dart-polymer

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

直到聚合物0.15.0 + 1,它才能正常工作.我已将项目更新为聚合物0.15.1,现在我得到了这个例外:

Exception: Already registered (Polymer) prototype for element x
Run Code Online (Sandbox Code Playgroud)

其中x是第一种聚合物.

我认为聚合物变压器试图将它注册两次,第一次扫描x聚合物html文件,第二次扫描其他元素html文件.

问题已在dart中公开:https://code.google.com/p/dart/issues/detail? id = 21332

mkn*_*naf 9

我不知道Dart和诸如此类的东西,但我在控制台中有相同的错误信息.结果我noscript在元素声明中仍然有属性,如果你想手动注册你的元素是错误的.noscript从元素声明中删除解决了问题.


Fed*_*dy2 0

随着Polymer Dart的 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>
Run Code Online (Sandbox Code Playgroud)

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

<link rel="import" href="script_thats_used_multiple_times.html">
Run Code Online (Sandbox Code Playgroud)

这将导入之前创建的 HTML 文件。简单的。”