0

我正在使用cell template. ng-grid我在指令中定义了一个函数。在同一指令中,我定义了我的grid-options. 这是代码:

data: 'mydata',
columnDefs: [

{field:'Timeout', displayName:'Delay', cellTemplate: '<a href="" 
ng-click= "Report(Alert,Key,1000,1,1);"><div class=\"ngCellText\">{{row.getProperty(col.field)}}</div></a>'}   
        ]

和函数Report也在同一指令中定义。

ng-click每当它被点击时都在工作。该函数被调用,但无论我传递的输入变量 (AlertKey) 都没有传递给函数,而其余三个参数1000,1,1正在传递。 Alert是我想要传递的硬编码字符串。 Key是“mydata”中的整数值数组之一。我通过alert在函数中使用这两个特定值进行了检查,它显示为 UNDEFINED。

请帮助正确调用该函数。提前致谢。

4

1 回答 1

1

你想要这样的东西:

  $scope.Report=function(msg,key,v1,v2,v3){
    //use v1, v2, v3 for whatever you like
    alert(msg+':'+key);
  };

  $scope.gridOptions = {
    data: 'myData',
    columnDefs: [
      {
        field: 'name',
        displayName: 'Delay',
        cellTemplate: '<a href="" ng-click= "Report(\'Alert\',row.entity.age,1000,1,1);"><div class=\"ngCellText\">{{row.getProperty(col.field)}}</div></a>'
      }, {
        field: 'age'
      }
    ]
  };

请注意,硬编码字符串 (msg) 必须放在转义引号中。我用年龄作为键的例子。由于在此示例中它是一个数值,因此您不需要引号。

这是一个Plunker

于 2014-08-03T09:19:13.140 回答