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