Pregunta

estoy usando cell template propiedad de ng-grid.Estoy definiendo una función en la directiva.Dentro de la misma directiva estoy definiendo mi grid-options.Aquí está el código:

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>'}   
        ]

y función Report también se define dentro de la misma directiva.

ng-click está funcionando cada vez que se hace clic en él.Se llama a la función, pero cualquiera que sea la variable de entrada que estoy pasando (Alert y Key) no pasa a la función mientras que los tres parámetros restantes 1000,1,1 están siendo aprobados.Alert es la cadena codificada lo que quiero pasar.Key es uno de la matriz de valores enteros en 'mydata'.Lo comprobé usando alert para estos 2 valores específicos en función y se muestra INDEFINIDO.

Por favor ayuda a llamar la función correctamente.Gracias de antemano.

¿Fue útil?

Solución

Quieres algo como esto:

  $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'
      }
    ]
  };

Tenga en cuenta que la cadena codificada (msg) debe escribirse entre comillas escapadas.Usé la edad como ejemplo de clave.Dado que en este ejemplo es un valor numérico, no necesita las comillas.

Aquí hay un plomero

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top