正如 Polymer Starter Kit 或 Polymer Shop 所展示的,我们在 Polymer 应用程序中使用了延迟加载。这意味着我们有一个基于抽屉的布局,并且应用程序外壳会导入抽屉内容以及主页内容。
现在我们引入一个行为并在自定义元素 A 和 B 中使用它,其中 A 显示在抽屉中,B 显示在主页中。现在的情况是我们收到浏览器 (Chrome) 警告,flattenBehaviorsList
但无法找到该行为。
我们假设发生这种情况是因为主页的Polymer.importHref
调用(选项async
是)识别行为(在自定义元素 B 中)并将其导入添加到 HTML 导入映射。true
但在导入内容之前,抽屉的Polymer.importHref
(option async
is true
) 调用想要导入自定义元素 A 的行为并从 HTML 导入映射中获取内容。但由于导入未完成,行为是null
.
这个假设是真的吗?如果是的话,这是否是 Chrome 中的一个错误——只是一个想法,因为 Firefox 似乎可以处理这个问题?或者它是糟糕的设计,我们不应该在不同的延迟加载应用程序部分共享相同的行为?
你怎么看?
提前致谢