我想在td单元格中应用此指令,有6列,我只想在1,2,3和5列应用。
是否有更简洁的方法来应用而不是将原始html标签应用于这四个单元格?
<span ng-if="item.index === 2
|| item.index === 7
|| item.index === 10
|| item.index === 11">$ </span>
我以一大堆html代码结尾:
<td><span ng-if="item.index === 2 || item.index === 7 || item.index === 10 || item.index === 11">$ </span> {{item.label2 | number}}</td> <td><span ng-if="item.index === 2 || item.index === 7 || item.index === 10 || item.index === 11">$ </span> {{item.label3 | number}}</td> <td><span ng-if="item.index === 2 || item.index === 7 ......
答案 0 :(得分:2)
我同意@Fals
的评论,这个逻辑可以/应该在控制器中,但为了使它更简洁,你可以这样做:
<span ng-if="[2,7,10,11].indexOf(item.index) >= 0">$ </span>
根据ÂngeloRigo的要求更新:
要在控制器中执行此操作:
markup: //ctrlRef is reference to the controller (assuming controllerAs)
<span ng-if="ctrlRef.showItem(item)">$ </span>
// in the controller (ES5):
this.showItem = function(item){
return [2,7,10,11].indexOf(item.index) >= 0;
}
// in the controller (ES6/TypeScript)
showItem(item) {
return [2,7,10,11].indexOf(item.index) >= 0;
}