Heim > Web-Frontend > js-Tutorial > Warum erfordern AngularJS-Filter zwei Sätze von Klammern?

Warum erfordern AngularJS-Filter zwei Sätze von Klammern?

DDD
Freigeben: 2024-11-13 04:29:02
Original
940 Leute haben es durchsucht

Why Do AngularJS Filters Require Two Sets of Parentheses?

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])
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage