我有一个定制的聚合物元素,“my-app”使用模板if =“...”构造有条件地包括其他聚合物元素。
所有这些聚合物元素都在一个文件“views.html”中定义。该文件包含用于实现所有这些自定义元素的Dart代码“views.dart”。
我有一个单独的“index.html”,除了导入“views.html”文件以及标准聚合物和dart初始化文件之外,它只会在主体中放置一个my-app声明标记。< / p>
我发现1)各种子元素的“.created”构造函数和2) my-app元素本身(有条件地包含子元素)被多次调用< / strong> - 即使my-app元素在简单的“index.html”文件中只声明一次。
我可以在调试器中看到它。
特别是关于调用“MyApp.created”,我认为这可能是一些垃圾收集问题。但是我第一次在MyApp实例中创建MyApp时设置了一个全局变量来排除这种情况。
对我来说更奇怪的是,当我再次重复创建MyApp时,我可以看到全局变量(防止MyApp实例的gc)已被重置为“null”,就好像整个Dart代码文件一样以某种方式被重新加载/重新评估。
对我来说很奇怪。
自定义元素的PolymerElement子类是否仅为自定义元素的定义实例化?如果是这样,那将是奇怪的。我认为这样的定制聚合物元素子类只会在聚合物元素的声明期间实例化。
此外,聚合物元素定义中的条件模板是否能够以某种方式强制重建定义的聚合物元素?这很难想象,但是Dart Polymer,LOL !!!可以做任何事情。
我正在寻找关于何时可以调用自定义Dart PolymerElements的构造函数的权威文档,但我找不到这样的文档。
任何和所有帮助都非常感激。