JSBin示例:https://jsbin.com/sofura/3/edit?html,output
*注意这适用于jsbin,但不适用于我的本地项目 .
我有一个基于新的Polymer CLI的应用程序 . index.html - > main-app.html使用app-route,包含工具栏,nav等 .
另一个页面被定义为自定义元素 <part-info>
.
在part-info中,我有vaadin-grid设置,其中包含一个用于显示行详细信息的嵌套模板 .
行详细信息显示在Edge中,但不显示在Chrome中 .
这与嵌套模板或可能是我的导入有关吗?
2 回答
您的HTML看起来格格不入 . 在
<div>
(line 42)内有一个未闭合的<template>
,后面是杂散的<div>
和<template>
标签(从line 63开始) .如果在JSBin首选项中启用HTMLHint,您将看到错误:
但是你实际上不需要在自定义元素中使用<template is =“dom-bind”>,并且应该删除它 . 在Chrome中尝试修改后的jsbin . 事实证明
<vaadin-grid>
需要Polymer元素内部的自动绑定模板来生成行详细信息 .我相信我找到了罪魁祸首 . window.Polymer = {dom:'shadow'};
因此,在这种情况下,Edge似乎比Chrome更好地处理阴影DOM . 或者使用vaadin网格的东西可以更好地使用polyfill .
聚合物默认为shady DOM . 这里有关于shady vs shadow DOM的更多信息:https://www.polymer-project.org/1.0/blog/shadydom