在UI-Grid

时间:2015-07-09 05:34:48

标签: javascript angularjs angularjs-directive angular-ui-grid

我打算为所有列调用相同的函数。我尝试了许多不同的方式来调用函数。没有工作。我确信我做了些傻事。如果有人可以纠正我。

$scope.gridOptions = {
enableSorting: true,
columnDefs: [
  { field: 'name', 
    //cellClass:  howCanIhaveCommonFunction() 
  },
  { field: 'company',
    //cellClass:  howCanIhaveCommonFunction()

  }
]

};

 // below function this would be common for all columns
  var howCanIhaveCommonFunction = function(grid, row, col, rowRenderIndex, colRenderIndex) 
  {
          if (grid.getCellValue(row,col) === 'Velity' || grid.getCellValue(row,col) === 'Beryl Rice' ) {
            return 'blue';
          }
          return 'red';
  }

http://plnkr.co/edit/4yjVbhmfR47cf7FGfyFk?p=preview

1 个答案:

答案 0 :(得分:4)

是的,这是一个简单的错误,而不是只说函数名称,而是在没有任何参数的情况下调用它。

$scope.gridOptions = {
enableSorting: true,
columnDefs: [
  { field: 'name', 
    cellClass:  howCanIhaveCommonFunction 
  },
  { field: 'company',
    cellClass:  howCanIhaveCommonFunction

  }
]

你只需通过使用那些()来使所有参数为null,只需传递函数名称,ui-grid将使用正确的参数调用它。