繁体   English   中英

Angularjs指令清洁程序代码

[英]Angularjs Directives Cleaner code

我想在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 ......

我同意@Fals的意见,即可以/应该在控制器中使用此逻辑,但是为了使其更简洁,您可以执行以下操作:

<span ng-if="[2,7,10,11].indexOf(item.index) >= 0">$ </span>

ngelo Rigo的每个请求的更新

要在控制器中执行此操作:

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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM