Polymer - 将内容标记嵌套在条件模板中

时间:2015-10-27 09:12:24

标签: polymer polymer-1.0

我正在使用条件模板来分发传递给元素的内容。如果条件为真,则显示第一个内容元素,否则显示第二个内容元素。我注意到,当我更新条件时,已经分发的内容不会更新。一旦可见,它将保持可见。 我的第一次尝试看起来像这样:

<template is="dom-if" if="{{test}}">
    <content select=".first">
    </content>
</template>
<template is="dom-if" if="{{!test}}">
    <content select=".second">
    </content>
</template>

如果内容包含在另一个元素中,我注意到它会起作用。

<template is="dom-if" if="{{test}}">
    <div>
        <content select=".first">
        </content>
    </div>
</template>
<template is="dom-if" if="{{!test}}">
    <div>
        <content select=".second">
        </content>
    </div>
</template>

我创建了一个plunker来演示这两种情况。 这种行为有解释吗?是故意还是错误?

1 个答案:

答案 0 :(得分:0)

这实际上是每个设计。这是Polymer团队在Github上的issue上所说的内容。

  

隐藏<content>对其分布式子级(每个规范)的可见性没有影响,因此您的选择是使用可隐藏的包装器元素包装内容(并隐藏已分发的子级),或者使用restamp<content>全部拉出DOM。   restamp和非restamp设置的工作方式略有不同,但它是非restamp行为的结果,它隐藏而不是将DOM作为性能优化销毁。