مصفي AngularJS
- الصفحة السابقة مجال AngularJS
- الصفحة التالية خدمات AngularJS
يمكن إضافة مرشحات إلى AngularJS لتنسيق البيانات.
مصفي AngularJS
يقدم AngularJS مرشحات لتحويل البيانات:
currency
تنسيق الرقم إلى صيغة العملةdate
تنسيق التاريخ إلى صيغة معينةمرشح
اختيار مجموعة فرعية من المجموعةjson
تنسيق الجسم إلى تسلسل نصي JSONlimitTo
يحد التسلسل النصي أو المجموعة إلى عدد معين من العناصر أو الحروفlowercase
تنسيق التسلسل النصي إلى صيغة صغيرةnumber
تنسيق الرقم إلى تسلسل نصيorderBy
ترتيب مجموعة من خلال التعبيرuppercase
تنسيق التسلسل النصي إلى صيغة كبيرة
إضافة مبدأ إلى التعبير
يمكن استخدام رمز القناة | لإضافة مبدأ إلى التعبير، يتبعه مبدأ.
uppercase
المبدأ يُنقل التسلسل النصي إلى صيغة كبيرة:
مثال
<div ng-app="myApp" ng-controller="personCtrl"> <p>اسمه هو {{ lastName | uppercase }}</p> </div>
lowercase
المبدأ يُنقل التسلسل النصي إلى صيغة صغيرة:
مثال
<div ng-app="myApp" ng-controller="personCtrl"> <p>اسم العائلة هو {{ lastName | lowercase }}</p> </div>
إضافة مرشح إلى التعليمات
باستخدام رمز القناة |
تباعدهم المرشح، يمكنك إضافة مرشح إلى التعليمات، مثل ng-repeat
:
مثال
يقوم مرشح orderBy بترتيب الجماعة:
<div ng-app="myApp" ng-controller="namesCtrl"> <ul> <li ng-repeat="x in names | orderBy:'country'"> {{ x.name + ', ' + x.country }} </li> </ul> </div>
مرشح currency
currency
سيقوم المرشح بتحويل الرقم إلى عملة:
مثال
<div ng-app="myApp" ng-controller="costCtrl"> <h1>سعر: {{ price | currency }}</h1> </div>
للحصول على معلومات أكثر حول مرشح currency، يرجى الرجوع إلى دليل مرشحات AngularJS الخاص بنا.
مرشح filter
مرشح
يُختار المرشح مجموعة فرعية من الجماعة.
مرشح
يمكن استخدام المرشح فقط للجماعات، ويقوم بتقديم مجموعة تحتوي فقط على التطابقات.
مثال
سيتم استعادة الأسماء التي تحتوي على الحرف "i":
<div ng-app="myApp" ng-controller="namesCtrl"> <ul> <li ng-repeat="x in names | filter : 'i'"> {{ x }} </li> </ul> </div>
للحصول على معلومات أكثر حول مرشح filter، يرجى الرجوع إلى دليل مرشحات AngularJS الخاص بنا.
مرشح المستخدم بناءً على إدخال المستخدم
بإعداد ng-model
تعليمات، يمكننا استخدام قيمة حقل الإدخال كعبرة في المُرشح.
أدخل حرفًا في حقل الإدخال، والقائمة ستُقلل/تزيد بناءً على التطابق:
- ياني
- كارل
- مارغريت
- هيغه
- جوزيف
- غوستاف
- بريجيت
- ماري
- كاي
مثال
<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>
ترتيب المجموعة بناءً على إدخال المستخدم
بالنقر على رأس الجدول يمكنك تغيير ترتيب الترتيب:
الاسم الدولة ياني نورويج كارل سويد مارغريت إنجلترا هيغه نورويج جوزيف دانمارك غوستاف سويد بريجيت دانمارك ماري إنجلترا كاي نورويجبإضافة في رأس الجدول ng-click
تعليمات، يمكننا تشغيل دالة ستغير ترتيب الترتيب في المجموعة:
مثال
<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>
مرشح مخصص
يمكنك إنشاء مرشح مخصص جديد عن طريق تسجيل وحدة تحكم جديدة في النظام الأساسي:
مثال
إنشاء مرشح مخصص يُدعى "myFormat":
<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>
myFormat
سيتم تنسيق كل حرف بعد الحرف الآخر إلى حروف كبيرة.
- الصفحة السابقة مجال AngularJS
- الصفحة التالية خدمات AngularJS