Modello di cellula in NG-Grid
-
26-12-2019 - |
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.
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