在列表元素中使用dom-if模板的奇怪行为

时间:2019-05-08 19:09:27

标签: javascript polymer web-component polymer-2.x polymer-2.0

我对使用dom-if有一个奇怪的问题。我有一个元素列表,这些元素在出现故障时会以不同的颜色显示状态,并且还会显示失败的子元素计数。

颜色变化正常(data-status$),但是计数显示无法正常工作。

要隐藏计数,我制作了一个函数isInFailure,该函数根据计数值返回布尔值,但是dom-if仅在我单击li元素时才执行,就像这样摘要周期尚未完成:

isInFailure(entity) {
    return entity.nbFailure > 0;
}

我的html看起来像这样:

...
<li on-click="selectEntity" class="entity">
    <span class="name">{{item.name}}</span>
    <div class="status">
        <span class="label-value">Entity Status</span>
        <span class="value" data-status$="{{item.value}}">{{item.value}}</span>
    </div>
    <div class="alerts">
        <div class="pill">                                                
            <template is="dom-if" if="[[isInFailure(item)]]">
                 <span class="badge" data-status$="{{item.value}}">[[item.nbFailure]]</span>
            </template>
        </div>                                        
    </div>
</li>

0 个答案:

没有答案