Domanda

Sto usando la proprietà cell template di ng-grid.Sto definendo una funzione nella direttiva.Nell'ambito della stessa direttiva sto definendo il mio grid-options.Ecco il codice:

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 la funzione Report è anche definita nella stessa direttiva.

ng-click funziona ogni volta che viene cliccato.La funzione viene chiamata ma qualunque sia la variabile di input che sto passando (Alert e Key) non passano alla funzione mentre i parametri di riposo tre parametri generanodicetagcode vengono trasmessi. 1000,1,1 è la stringa con codifica rigida ciò che voglio passare. Alert è uno degli array di valori interi in "myData". Ho controllato utilizzando Key per questi 2 valori specifici in funzione e sta mostrando undefined.

Aiuta a chiamare correttamente la funzione.Grazie in anticipo.

È stato utile?

Soluzione

Vuoi qualcosa del genere:

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

Si noti che la stringa hardcoded (MSG) deve essere messa in virgolette sfuggerate.Ho usato l'età come esempio per una chiave.Dal suo valore numerico in questo esempio, non hai bisogno delle citazioni.

Ecco un plunker

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top