我正在使用 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 对于函数中的这2个特定值,它显示未定义。

请帮助正确调用函数。先谢谢你。

有帮助吗?

解决方案

你想要这样的东西吗:

  $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)必须放在转义引号中。我用年龄作为钥匙的例子。由于在这个例子中它是一个数字值,你不需要引号。

这里是一个 普朗克

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top