Pergunta

estou usando cell template propriedade de ng-grid.Estou definindo uma função na diretiva.Dentro da mesma directiva estou a definir a minha grid-options.Aqui está o 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>'}   
        ]

e função Report também é definido na mesma diretiva.

ng-click está funcionando sempre que é clicado.A função está sendo chamada, mas seja qual for a variável de entrada que estou passando (Alert e Key) não está passando para a função enquanto os três parâmetros restantes 1000,1,1 estão sendo ultrapassados.Alert é a string codificada que eu quero passar.Key é um dos arrays de valores inteiros em 'mydata'.Eu verifiquei usando alert para estes 2 valores específicos em função e está mostrando INDEFINIDO.

Por favor, ajude a chamar a função corretamente.Desde já, obrigado.

Foi útil?

Solução

Você quer algo como isso:

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

Observe que a string codificada (msg) deve ser colocada entre aspas de escape.Usei a idade como exemplo de chave.Como é um valor numérico neste exemplo, você não precisa das aspas.

Aqui está um Plunker

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top