Filter用标记替换boolean

时间:2014-02-19 10:29:57

标签: javascript angularjs

我正在重复一个模型来创建一个表。该模型联系了多个保存布尔值的对象,我希望能够执行一些过滤器或逻辑来打印标记(跨度)而不是布尔值(true,false)。

如果为true,则打印出span标记 如果为false,则不打印任何内容。

我如何解决这个问题,一个自定义过滤器?或者某些逻辑在链上而不是在模板级别。

$scope.results = [
            {'date' : '08/02/2014', 'resort' : 'La Plagne', 'sleeps' : '8-9', 'chalet' : 'Arnica', 'offer1' : true, 'offer2' : false, 'offer3' : false, 'offer4' : true, 'offer5' : false, 'offer6' : false, 'offer7' : false, 'pricewas' : '639', 'pricenow' : '249'},
            {'date' : '08/02/2014', 'resort' : 'La Plagne', 'sleeps' : '8-9', 'chalet' : 'Grange', 'offer1' : false, 'offer2' : false, 'offer3' : false, 'offer4' : true, 'offer5' : false, 'offer6' : false, 'offer7' : false, 'pricewas' : '639', 'pricenow' : '249'},
            {'date' : '09/02/2014', 'resort' : 'Tignes', 'sleeps' : '12-14', 'chalet' : 'Chartreux', 'offer1' : false, 'offer2' : false, 'offer3' : false, 'offer4' : false, 'offer5' : false, 'offer6' : false, 'offer7' : false, 'pricewas' : '549', 'pricenow' : '366'},
            {'date' : '15/02/2014', 'resort' : 'La Plagne', 'sleeps' : '8-9', 'chalet' : 'Arnica', 'offer1' : false, 'offer2' : false, 'offer3' : false, 'offer4' : true, 'offer5' : false, 'offer6' : false, 'offer7' : false, 'pricewas' : '639', 'pricenow' : '249'},
            {'date' : '08/02/2014', 'resort' : 'La Plagne', 'sleeps' : '10-13', 'chalet' : 'Renard', 'offer1' : true, 'offer2' : false, 'offer3' : false, 'offer4' : false, 'offer5' : false, 'offer6' : false, 'offer7' : true, 'pricewas' : '1039', 'pricenow' : '699'},
        ]; 

tempalte

<tr ng-repeat="result in results">
  <td>
    {{ result.date | date:'medium' }}
  </td>
  <td>
    {{ result.resort }}
  </td>
  <td>
    {{ result.chalet }}
  </td>
  <td>
    {{ result.sleeps }}
  </td>
  <td>
    {{ result.offer1 }}
  </td>
  <td>
    {{ result.offer2 }}
  </td>
  <td>
    {{ result.offer3 }}
  </td>
  <td>
    {{ result.offer4 }}
  </td>
  <td>
    {{ result.offer5 }}
  </td>
  <td>
    {{ result.offer6 }}
  </td>
  <td>
    {{ result.offer7 }}
  </td>
  <td>
    {{ result.pricewas | currency:'£'}}
  </td>
  <td>
    {{ result .pricenow | currency:'£'}}
  </td>
</tr>

1 个答案:

答案 0 :(得分:1)

您可以在Step 09 - Filters查看官方角度教程。

有关如何create custom filters;)

的详细信息