Question

j'utilise cell template propriété de ng-grid.Je définis une fonction dans la directive.Dans la même directive, je définis mon grid-options.Voici le code :

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

et fonction Report est également défini dans la même directive.

ng-click fonctionne chaque fois qu'on clique dessus.La fonction est appelée mais quelle que soit la variable d'entrée que je passe (Alert et Key) ne passe pas à la fonction alors que les trois autres paramètres 1000,1,1 sont adoptés.Alert est la chaîne codée en dur que je veux transmettre.Key est l'un des tableaux de valeurs entières dans 'mydata'.J'ai vérifié en utilisant alert pour ces 2 valeurs spécifiques en fonction et il affiche UNDEFINED.

S'il vous plaît, aidez-nous à appeler la fonction correctement.Merci d'avance.

Était-ce utile?

La solution

Voulez-vous quelque chose comme ceci :

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

Notez que la chaîne codée en dur (msg) doit être mise entre guillemets échappés.J'ai utilisé l'âge comme exemple pour une clé.Puisqu'il s'agit d'une valeur numérique dans cet exemple, vous n'avez pas besoin des guillemets.

Voici une Plunker

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top