2014-02-19 31 views
0

我正在重复一个模型来创建一个表格。该模型接触多个持有布尔值的对象,我希望能够执行一些过滤器或逻辑来打印标记(跨度)而不是布尔(真,假)。过滤器用标记代替布尔值

如果为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

在官方角tuorial),有一个类似的例子:[步骤09 - 过滤器](http://docs.angularjs.org/tutorial/step_09) – glepretre

+0

干杯,将经历整个教程集。 – Sibbo

回答