Home > Article > Web Front-end > Detailed explanation of the use of AngularJS filters_AngularJS
AnularJS filters are used to format the data that needs to be displayed to users. There are many practical built-in filters, and you can also write them yourself.
Call the filter through the | symbol within the template binding symbol {{ }} in HTML. For example, let's say we want to convert the string
To convert to uppercase, you can convert each character in the string individually, or you can use a filter:
{{ name | uppercase }}
Filters can be called through $filter in JavaScript code. For example, using lowercase
in JavaScript code
Filter:
app.controller('DemoController', ['$scope', '$filter', function($scope, $filter) { $scope.name = $filter('lowercase')('Ari'); }]);
When using filters in the form of HTML, if you need to pass parameters to the filter, just add a colon after the filter name
That’s it. If there are multiple parameters, you can add a colon after each parameter. For example, a numeric filter can limit the number of decimal places
The number of digits, write: 2 after the filter, you can pass 2 as a parameter to the filter:
<!-- 显示:123.46 --> {{ 123.456789 | number:2 }}
1. currency
The currency filter can format a numeric value into currency format. Use {{ 123 | currency }} to convert 123
into currency format.
The currency filter allows us to set the currency symbol ourselves. By default, the currency symbol of the client's region will be used,
But you can also customize currency symbols.
2. date
The date filter can format the date into the required format. There are several date formats built into AngularJS, if not
Specify any format to use. The mediumDate format will be used by default. This format is shown in the example below.
The following are the built-in supported localized date formats:
{{ today | date:'medium' }} <!-- Aug 09, 2013 12:09:02 PM --> {{ today | date:'short' }} <!-- 8/9/1312:09PM --> {{ today | date:'fullDate' }} <!-- Thursday, August 09, 2013 --> {{ today | date:'longDate' }} <!-- August 09, 2013 --> {{ today | date:'mediumDate' }}<!-- Aug 09, 2013 --> {{ today | date:'shortDate' }} <!-- 8/9/13 --> {{ today | date:'mediumTime' }}<!-- 12:09:02 PM --> {{ today | date:'shortTime' }} <!-- 12:09 PM -->
Year formatting
Four-digit year: {{ today | date:'yyyy' }} 2454eba55ce5af447d63d506f0b22009
Two-digit year: {{ today | date:'yy' }} ac8ae5c416383e689e62a98e07653199
Year: {{ today | date:'y' }} 2454eba55ce5af447d63d506f0b22009
Month formatting
English month: {{ today | date:'MMMM' }} 7ee77e53246386e408232298689b6a6b
English month abbreviation: {{ today | date:'MMM' }} 5812613cefcefb85ab7a2a7f2b19a771
Numeric month: {{ today |date:'MM' }} 53031c7c3fbdb98da663f829dbcbec99
Month of the year: {{ today |date:'M' }} 0d07dfb83b43f33ffd3d813164ae49ba
Date formatting
Numeric date: {{ today|date:'dd' }} bdf347c31d338c5559ea24febd3d6d74
Day of the month: {{ today | date:'d' }} 10f30089400a4cdc8cfbd8d11fd537ef
English day of the week: {{ today | date:'EEEE' }} 7cc9ef7cc2267a79aa9f88d1a4d6dd20
English week abbreviation: {{ today | date:'EEE' }} ea058d0751acaf64361b1abb55a9f5e4
Hour formatting
24-hour digital hour: {{today|date:'HH'}} ef72c658846c1084161df55b19ce8c24
Hour of the day: {{today|date:'H'}} 902f4f72964ab5f05217214ee25eb31b
12-hour digital hour: {{today|date:'hh'}} fb30a4b0d26192a15972624ccb337852
Hour in the morning or afternoon: {{today|date:'h'}} fb30a4b0d26192a15972624ccb337852
Minute formatting
Numeric minutes: {{ today | date:'mm' }} bdf347c31d338c5559ea24febd3d6d74
Minute of the hour: {{ today | date:'m' }} 10f30089400a4cdc8cfbd8d11fd537ef
Seconds formatting
Numeric seconds: {{ today | date:'ss' }} 779138eee8ec233d5f15002382413251
The second in a minute: {{ today | date:'s' }} dfa9fc8a6a43443cb66797c35cf883e1
Number of milliseconds: {{ today | date:'.sss' }} 132404d696749dd146bc462e6ef8004e
Here are some examples of custom date formats:
{{ today | date:'MMMd, y' }} <!-- Aug9, 2013 --> {{ today | date:'EEEE, d, M' }} <!-- Thursday, 9, 8--> {{ today | date:'hh:mm:ss.sss' }} <!-- 12:09:02.995 -->
filter
filter filter can select a subset from the given array and generate a new array and return it.
For example, use the following filter to select all words containing the letter e:
{{ ['Ari','Lerner','Likes','To','Eat','Pizza'] | filter:'e' }} <!-- ["Lerner","Likes","Eat"] -->
If you want to filter objects, you can use the object filter mentioned above. For example, if you have a
consisting of people objects
Array, each object contains a list of their favorite foods, which can be filtered in the following form:
{{ [{ 'name': 'Ari', 'City': 'San Francisco', 'favorite food': 'Pizza' },{ 'name': 'Nate', 'City': 'San Francisco', 'favorite food': 'indian food' }] | filter:{'favorite food': 'Pizza'} }} <!-- [{"name":"Ari","City":"SanFrancisco","favoritefood":"Pizza"}] -->
You can also use a custom function for filtering (in this example the function is defined on $scope):
{{ ['Ari','likes','to','travel'] | filter:isCapitalized }} <!-- ["Ari"] -->
The function of isCapitalized function is to return true or false according to whether the first letter is capitalized, as shown below:
$scope.isCapitalized = function(str) { return str[0] == str[0].toUpperCase(); };
Custom filters
First, create a module to reference in the application
angular.module('myApp.filters', []) .filter('capitalize', function() { return function(input) { // input是我们传入的字符串 if (input) { return input[0].toUpperCase() + input.slice(1); } });
Now, if you want to convert the first letter of a sentence to uppercase, you can use the filter to convert the entire sentence to uppercase first
Write, then convert the first letter to uppercase:
<!-- Ginger loves dog treats --> {{ 'ginger loves dog treats' | lowercase | capitalize }}
The above is how to use AngularJS filters. I hope it will be helpful to everyone's learning.