Aufrufen verschachtelter Funktionen in AngularJS-Filtern
In AngularJS ermöglichen Filter Entwicklern die Transformation und Bearbeitung von Daten. Bei der Verwendung von Filtern gibt es jedoch eine Besonderheit: Wir müssen sie mit zwei Klammersätzen aufrufen.
Die Funktionskette verstehen
Wenn Sie einen Filter in AngularJS aufrufen, müssen Sie rufen im Wesentlichen eine Funktion auf, die eine andere Funktion zurückgibt. Der erste Klammersatz ruft die äußere Funktion ($filter) auf, die dann eine innere Funktion zurückgibt. Der zweite Klammersatz ruft sofort die innere Funktion auf.
Betrachten Sie beispielsweise den folgenden Code:
$filter('number')(number[, fractionSize])
Hier ist $filter die äußere Funktion, die den Zahlenfilter zurückgibt. Die Argumente Zahl und Bruchgröße werden an den Zahlenfilter übergeben. Die innere Funktion wird dann sofort mit dem Ergebnis der äußeren Funktion als Argument aufgerufen.
JavaScript-Äquivalent
In JavaScript wird als Äquivalent dieser Funktionskette verschachtelt verwendet Funktionen:
function add(x){ return function(y){ return x + y; }; } var addTwo = add(2); console.log(addTwo(4) === 6); // true console.log(add(3)(4) === 7); // true
In diesem Beispiel gibt die äußere Funktion add eine neue Funktion zurück, die ein Argument y annimmt und es zum Wert x aus der äußeren Funktion addiert. Die innere Funktion kann einer Variablen zugewiesen werden (z. B. addTwo) oder sofort mit einem Argument aufgerufen werden (z. B. add(3)(4)).
Das obige ist der detaillierte Inhalt vonWarum erfordern AngularJS-Filter zwei Sätze von Klammern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!