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