AngularJS filtrlari


AngularJS’da ma’lumotlarni formatlash uchun filtrlar qo‘shish mumkin.


ULASHISH

AngularJS filtrlari

AngularJS ma’lumotlarni o‘zgartirish uchun filtrlarni taqdim etadi:

  • currency Sonni valyuta formatiga keltiradi.
  • date Sanani belgilangan formatga keltiradi.
  • filter Massivdan elementlarning bir qismini tanlaydi.
  • json Obyektni JSON string ko‘rinishiga keltiradi.
  • limitTo Massiv/stringni belgilangan miqdordagi elementlar/belgilar bilan cheklaydi.
  • lowercase Stringni kichik harflarga o‘tkazadi.
  • number Sonni string ko‘rinishiga keltiradi.
  • orderBy Massivni ifoda bo‘yicha tartiblaydi.
  • uppercase Stringni katta harflarga o‘tkazadi.

Ifodalarga filtr qo‘shish

Filtrlar ifodalarga | (pipe) belgisi va undan keyin filtr yozish orqali qo‘shiladi.

uppercase filtri stringlarni katta harflarga o‘tkazadi:

Misol

<div ng-app="myApp" ng-controller="personCtrl"> <p>The name is {{ lastName | uppercase }}</p> </div>
O‘zingiz sinab ko‘ring »

lowercase filtri stringlarni kichik harflarga o‘tkazadi:

Misol

<div ng-app="myApp" ng-controller="personCtrl"> <p>The name is {{ lastName | lowercase }}</p> </div>
O‘zingiz sinab ko‘ring »


Direktivalarga filtr qo‘shish

Filtrlar ng-repeat kabi direktivalarga | (pipe) belgisi va undan keyin filtr yozish orqali qo‘shiladi:

Misol

orderBy filtri massivni tartiblaydi:

<div ng-app="myApp" ng-controller="namesCtrl"> <ul>   <li ng-repeat="x in names | orderBy:'country'">     {{ x.name + ', ' + x.country }}   </li> </ul> </div>
O‘zingiz sinab ko‘ring »

currency filtri

currency filtri sonni valyuta ko‘rinishida formatlaydi:

Misol

<div ng-app="myApp" ng-controller="costCtrl"> <h1>Price: {{ price | currency }}</h1> </div>
O‘zingiz sinab ko‘ring »

currency filtri haqida AngularJS currency filtri ma’lumotnomasida batafsil o‘qing


filter filtri

filter filtri massivning bir qismini tanlaydi.

filter filtrini faqat massivlarda ishlatish mumkin va u faqat mos keluvchi elementlardan iborat massivni qaytaradi.

Misol

Tarkibida "i" harfi bor ismlarni qaytaring:

<div ng-app="myApp" ng-controller="namesCtrl"> <ul>   <li ng-repeat="x in names | filter : 'i'">     {{ x }}   </li> </ul> </div>
O‘zingiz sinab ko‘ring »

filter filtri haqida AngularJS filter filtri ma’lumotnomasida batafsil o‘qing


Massivni foydalanuvchi kiritgan qiymat asosida filtrlash

Kiritish maydoniga ng-model direktivasini o‘rnatib, maydon qiymatini filtrda ifoda sifatida ishlatishimiz mumkin.

Kiritish maydoniga harf yozing, ro‘yxat moslikka qarab qisqaradi/kengayadi:

  • {{ x }}

Misol

<div ng-app="myApp" ng-controller="namesCtrl"> <p><input type="text" ng-model="test"></p> <ul>   <li ng-repeat="x in names | filter : test">     {{ x }}   </li> </ul> </div>
O‘zingiz sinab ko‘ring »

Massivni foydalanuvchi kiritgan qiymat asosida tartiblash

Tartiblash tartibini o‘zgartirish uchun jadval sarlavhalarini bosing:

Name Country
{{x.name}} {{x.country}}

Jadval sarlavhalariga ng-click direktivasini qo‘shish orqali massivning tartiblash tartibini o‘zgartiradigan funksiyani ishga tushirishimiz mumkin:

Misol

<div ng-app="myApp" ng-controller="namesCtrl"> <table border="1" width="100%">   <tr>     <th ng-click="orderByMe('name')">Name</th>     <th ng-click="orderByMe('country')">Country</th>   </tr>   <tr ng-repeat="x in names | orderBy:myOrderBy">     <td>{{x.name}}</td>     <td>{{x.country}}</td>   </tr> </table> </div> <script> angular.module('myApp', []).controller('namesCtrl', function($scope) {   $scope.names = [     {name:'Jani',country:'Norway'},     {name:'Carl',country:'Sweden'},     {name:'Margareth',country:'England'},     {name:'Hege',country:'Norway'},     {name:'Joe',country:'Denmark'},     {name:'Gustav',country:'Sweden'},     {name:'Birgit',country:'Denmark'},     {name:'Mary',country:'England'},     {name:'Kai',country:'Norway'}   ];   $scope.orderByMe = function(x) {     $scope.myOrderBy = x;   } }); </script>
O‘zingiz sinab ko‘ring »

Maxsus filtrlar

Modulingizda yangi filtr fabrika funksiyasini ro‘yxatdan o‘tkazish orqali o‘z filtrlaringizni yaratishingiz mumkin:

Misol

"myFormat" nomli maxsus filtr yarating:

<ul ng-app="myApp" ng-controller="namesCtrl">   <li ng-repeat="x in names">     {{x | myFormat}}   </li> </ul> <script>
var app = angular.module('myApp', []); app.filter('myFormat', function() {   return function(x) {     var i, c, txt = "";     for (i = 0; i < x.length; i++) {       c = x[i];       if (i % 2 == 0) {         c = c.toUpperCase();       }       txt += c;     }     return txt;   }; }); app.controller('namesCtrl', function($scope) {   $scope.names = ['Jani', 'Carl', 'Margareth', 'Hege', 'Joe', 'Gustav', 'Birgit', 'Mary', 'Kai']; });
</script>
O‘zingiz sinab ko‘ring »

myFormat filtri har ikkinchi belgini katta harfga o‘tkazadi.



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!