Maison > interface Web > js tutoriel > le corps du texte

Pourquoi les filtres AngularJS nécessitent-ils deux jeux de parenthèses ?

DDD
Libérer: 2024-11-13 04:29:02
original
878 Les gens l'ont consulté

Why Do AngularJS Filters Require Two Sets of Parentheses?

Appel de fonctions imbriquées dans les filtres AngularJS

Dans AngularJS, les filtres permettent aux développeurs de transformer et de manipuler des données. Cependant, il y a une particularité lors de l'utilisation de filtres : nous devons les appeler avec deux jeux de parenthèses.

Comprendre la chaîne de fonctions

Lors de l'appel d'un filtre dans AngularJS, vous appellent essentiellement une fonction qui renvoie une autre fonction. Le premier ensemble de parenthèses appelle la fonction externe ($filter), qui renvoie ensuite une fonction interne. Le deuxième ensemble de parenthèses appelle immédiatement la fonction interne.

Par exemple, considérons le code suivant :

$filter('number')(number[, fractionSize])
Copier après la connexion

Ici, $filter est la fonction externe qui renvoie le filtre numérique. Les arguments number et fractionSize sont transmis au filtre numérique. La fonction interne est alors immédiatement appelée avec le résultat de la fonction externe comme argument.

Équivalent JavaScript

En JavaScript, l'équivalent de cette chaîne de fonctions utilise des fonctions :

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
Copier après la connexion

Dans cet exemple, la fonction externe add renvoie une nouvelle fonction qui prend un argument y et l'ajoute à la valeur x de la fonction externe. La fonction interne peut être affectée à une variable (par exemple, addTwo) ou appelée immédiatement avec un argument (par exemple, add(3)(4)).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal