2017-01-04 1 views

Antwort

5

Sie müssen die Zerstörer hängen, die zurückgegeben werden, wenn die Ereignisse zu registrieren und sie dann ausführen.

Wie unten

var hello1Destroyer = $scope.gridApi.selection.on.rowSelectionChanged($scope, function(row){ 
    alert("Hello #1"); 
}); 

var hello2Destroyer = $scope.gridApi.selection.on.rowSelectionChanged($scope, function(row){ 
    alert("Hello #2"); 
}); 

Irgendwo rufen Sie hello1Destroyer() und hello2Destroyer(). Sie können dies auf den Geltungsbereich setzen oder sie in einem bestimmten Umfang festhalten.

Quelle: Checkout official source master branch around line 278 inside feature.on[eventName] = function(){

+0

DIESE ARBEIT! Hier ist, was ich verwendet habe: var Zerstörer = $ scope.GeneralGridApi.selection.on.rowSelectionChanged ($ Scope, Funktion (a) { \t Alarm ("# 1"); }); Zerstörer(); $ scope.GeneralGridApi.selection.on.rowSelectionChanged ($ scope, function (a) { \t Warnung ("# 2"); }); // der erste Rückruf ist zerstört !!! –

+0

Großartig - um sicherzustellen, dass alles in Ordnung ist, überprüfen Sie, ob Sie Fehler haben, wenn das Gitter zerstört wird. Während der Zerstörung entfernt ui-grid diese Zuhörer während des Bereichs $ destroy cycle. Wenn man ihren Code betrachtet, scheint das kein Problem zu sein. – bhantol

+0

@BrianJosephSpinos, bitte beachten Sie diese Antwort, wenn es funktioniert hat. – Arashsoft

1

Ihre API-Seite saugt um ehrlich zu sein. Die Art, wie ich kam, war eine Funktion an die rowSelectionChanged übergeben und ändern Sie diese Funktion später wie folgt:

PS: Ich weiß, es ist schmutzig, aber es funktioniert.

var handler = function(row) { 
    alert("Hello #1"); 
} 

$scope.gridApi.selection.on.rowSelectionChanged($scope, handler); 

dann später auf der Handler ändern können:

handler = function(row) { 
    alert("Hello #2"); 
} 
+0

Gute Idee! Ich werde das versuchen! –

+0

Sorry, es hat nicht funktioniert, das ist, was ich versucht habe: –

+0

var callback = funktion (a) { \t alert ("# 1"); }; $ scope.GeneralGridApi.selection.on.rowSelectionChanged ($ scope, callback); Rückruf = Funktion (a) { \t Warnung ("# 2"); }; $ scope.GeneralGridApi.selection.on.rowSelectionChanged ($ scope, callback); –

Verwandte Themen