我正在使用 Polymer Starter Kit 作为应用程序的基础。因此,这是一个单页应用程序,可路由到特定部分。我的索引基本没有变化,你可以在这里查看https://github.com/PolymerElements/polymer-starter-kit/blob/master/app/index.html。
现在我在这里有我的自定义元素
<dom-module id="lista-contatti">
<template>
<iron-ajax url="../../api/get_contacts.php" last-response="{{data}}" auto></iron-ajax>
<iron-list items="{{data}}" as="item" id="list">
<template>
<paper-icon-item>
<avatar class$="[[item.classe]]" item-icon></avatar>
<paper-item-body two-line>
<div><a href="{{computeLink(item.nome)}}"><span>[[item.nome]]</span> <span>[[item.cognome]]</span></a></div>
<div secondary><span>[[item.tipo]]</span></div>
</paper-item-body>
</paper-icon-item>
</template>
</iron-list>
</template>
</dom-module>
这是有效的,因为如果我给我的铁名单一个合适的班级,我可以看到我的名单正在填充。唯一的问题是我的列表将呈现在我的主应用程序标题下(这是有道理的,因为我的列表具有适合的布局)。
此外,如果我将列表放在单个 html 文件中,该列表与 header 一起使用效果很好,正如您在 iron-list 官方演示页面中看到的那样。
现在我想将我的列表保存在外部 dom 模块中,但我需要它与聚合物入门套件的单页应用程序场景中的页面的其他元素无缝协作。
编辑:这是我的 index.html 一页应用程序布局
<body>
<template is="dom-bind" id="app">
<paper-drawer-panel>
<paper-scroll-header-panel drawer fixed>
<paper-toolbar> ... </paper-toolbar>
<paper-menu> ... </paper-menu>
</paper-scroll-header-panel>
<paper-scroll-header-panel main condenses keep-condensed-header>
<paper-toolbar> ... </paper-toolbar>
<iron-pages attr-for-selected="data-route" selected="{{route}}">
<section data-route="foo"> ... </section>
<section data-route="contact">
<!-- HERE IS MY DOM-MODULE -->
<lista-contatti></lista-contatti>
</section>
</iron-pages>
</paper-scroll-header-panel>
</paper-drawer-panel>
</template>
</body>
Myiron-list
无法按预期工作,paper-scroll-header-panel
因为它嵌套在许多元素中,例如iron-pages
,section
和我的自定义dom-module
. 该列表不能与标题高度交互,也不能与之无缝滚动。