我有两个共享相同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
答案 0 :(得分:9)
我不知道Dart和诸如此类的东西,但我的控制台中也有相同的错误消息。结果我在元素声明中仍然有noscript
属性,如果你想手动注册你的元素是错误的。
从元素声明中删除noscript
解决了这个问题。
答案 1 :(得分:0)
Polymer Dart的版本0.15.1 + 2已解决该问题。
编译器现在抛出一个警告,如issue comments中所述:“这里真正的解决方案应该是将您的脚本文件放在自己的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文件。简单的“。