有没有办法(如果有可能,有什么方法可以做到这一点)将相同的DOM元素放在文档的两个不同位置?似乎应该可以使用<slot>
标签。
我想象的用例是在文档中放置同一个fab的两个副本:一个在标题中,一个漂浮在左下角,并根据设备宽度有条件地隐藏一个或另一个。那么,如果不可能,那么有没有办法动态改变我的DOM节点所在的<slot>
?顺便说一句,我正在使用Polymer 2.0预览版。
答案 0 :(得分:0)
一个元素只能分配给一个插槽。
您可能想重新考虑您的前提。到目前为止,解决问题的最简单方法是在标记中使用相同的元素两次:
<template is="dom-if" if="[[!mobileDevice]]">
<my-header>
<my-fab></my-fab>
</my-header>
</template>
<!-- ... -->
<my-sidebar>
<template is="dom-if" if="[[mobileDevice]]">
<my-fab></my-fab>
</template>
</my-sidebar>
但是,如果您真的想要更改分配元素的插槽,您只需将元素添加到新插槽主机的子节点,例如:
mySidebar.appendChild(myFab);