如何使用模板'如果'绑定以在重复模板中显示元素属性。

时间:2015-06-22 20:49:50

标签: data-binding polymer template-engine

对在模板中使用if感到好奇。假设我有一个对象数组,我只想在项目具有某个属性时显示 我已尝试过以下方法,但我相信我的语法错误...我应该将该属性作为另一个属性进行杂草吗?

 <template is="dom-repeat" items="{{data.entries}}">
   <div class="list" >
     <paper-item class="horizontal layout">
       <paper-item-body two-line class="flex">

         <template bind if="{{item.title}}">
           <div><span>{{item.title}}</span></div>
         </template>

         <div><span>{{item.text}}</span></div>
         <div secondary>
          <template is="dom-repeat" items="{{item.automation}}">
            <span>{{item.full}}</span>
          </template>
         </div>
       </paper-item-body>
     </paper-item>
  </div>
</template>

1 个答案:

答案 0 :(得分:1)

在聚合物松弛通道上解决了这个问题。问题是当item.title不存在时,它根本不会执行if语句。所以解决方案是使用计算即:

<template is="dom-if" if="{{filterTitle(item)}}">

和JS

filterTitle: function(item)  { return Boolean(item.title); }

此解决方案非常灵活,当项目为null时,模板将不会按预期显示。感谢用户SJMILES,PEDUXE和MBARNEY(聚合物松弛)帮助我解决这个问题。