Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angularjs指令清理程序代码_Javascript_Angularjs - Fatal编程技术网

Javascript Angularjs指令清理程序代码

Javascript Angularjs指令清理程序代码,javascript,angularjs,Javascript,Angularjs,我想在td单元中应用这个指令,有6列,我只想在第1、2、3和5列中应用 是否有一种更干净的方法来应用,而不是将原始html标记应用于这四个单元格 <span ng-if="item.index === 2 || item.index === 7 || item.index === 10 || item.ind

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

${item.label2 | number}}${{item.label3 | number}}我同意来自
@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;
}
markup://ctrlRef是对控制器的引用(假设为controllerAs)
$ 
//在控制器(ES5)中:
this.showItem=函数(项){
返回[2,7,10,11].indexOf(item.index)>=0;
}
//在控制器中(ES6/TypeScript)
showItem(项目){
返回[2,7,10,11].indexOf(item.index)>=0;
}

您应该将此逻辑移动到控制器,作为一种方法,它将使视图更干净。请共享更多代码好吗?请不要将代码转储到注释中。。。更新实际问题,其中代码可以格式化和可读,人们在阅读问题时不必筛选注释谢谢Brocco它正在工作,它将如何在控制器方法中编写?