directivas angularjs

angularjs - directivas - ¿Cómo llamo a un filtro Angular.js con múltiples argumentos?



input uppercase angular 4 (6)

A partir de la documentation , podemos llamar a un filtro como date como este:

{{ myDateInScope | date: ''yyyy-MM-dd'' }}

Aquí la fecha es un filtro que toma un argumento.

¿Cuál es la sintaxis para llamar a los filtros con más parámetros tanto de plantillas como de código JavaScript?


En este código, jsondata es nuestra matriz y en el retorno de la función estamos verificando la ''versión'' presente en el jsondata.

var as = $filter(''filter'')(jsondata, function (n,jsondata){ return n.filter.version===''V.0.3'' }); console.log("name is " + as[0].name+as[0]);


En las plantillas, puede separar los argumentos de filtro por dos puntos .

{{ yourExpression | yourFilter: arg1:arg2:... }}

De Javascript, lo llamas como

$filter(''yourFilter'')(yourExpression, arg1, arg2, ...)

En realidad, hay un ejemplo oculto en los documentos de filtro orderBy .

Ejemplo:

Digamos que haces un filtro que puede reemplazar cosas con expresiones regulares:

myApp.filter("regexReplace", function() { // register new filter return function(input, searchRegex, replaceRegex) { // filter arguments return input.replace(RegExp(searchRegex), replaceRegex); // implementation }; });

Invocación en una plantilla para censurar todos los dígitos:

<p>{{ myText | regexReplace: ''[0-9]'':''X'' }}</p>


Me gusta esto:

var items = $filter(''filter'')(array, {Column1:false,Column2:''Pending''});


Mencioné a continuación, donde también mencioné el filtro personalizado, cómo llamar a estos filtros que tiene dos parámetros.

countryApp.filter(''reverse'', function() { return function(input, uppercase) { var out = ''''; for (var i = 0; i < input.length; i++) { out = input.charAt(i) + out; } if (uppercase) { out = out.toUpperCase(); } return out; } });

y desde el html usando la plantilla podemos llamar a ese filtro como abajo

<h1>{{inputString| reverse:true }}</h1>

Aquí, si ve, el primer parámetro es inputString y el segundo parámetro es verdadero, que se combina con "reverse" usando el símbolo:


Si desea llamar a su filtro dentro de ng-options, el código será el siguiente:

ng-options="productSize as ( productSize | sizeWithPrice: product ) for productSize in productSizes track by productSize.id"

donde el filtro es sizeWithPriceFilter y tiene dos parámetros product y productSize


Si necesita dos o más relaciones con el filtro, es posible encadenarlos:

{{ value | decimalRound: 2 | currencySimbol: ''U$'' }} // 11.1111 becomes U$ 11.11