AngularJS စစ်ထုတ်မှုများ


ဒေတာဖော်မတ်ရန် AngularJS တွင် Filters များကို ထည့်နိုင်သည်။


AngularJS စစ်ထုတ်မှုများ

AngularJS သည် ဒေတာကို ပြောင်းလဲရန်အတွက် စစ်ထုတ်မှုများကို ပံ့ပိုးပေးသည်-

  • currency နံပါတ်တစ်ခုကို ငွေကြေးဖော်မတ်အဖြစ် ဖော်မတ်လုပ်ပါ။
  • date ရက်စွဲကို သတ်မှတ်ထားသော ဖော်မတ်သို့ ဖော်မတ်လုပ်ပါ။
  • filter array တစ်ခုမှ အရာများ ၏ အစုခွဲတစ်ခုကို ရွေးပါ။
  • json JSON စာကြောင်းတစ်ခုသို့ အရာဝတ္ထုတစ်ခုကို ဖော်မတ်လုပ်ပါ။
  • limitTo array/string တစ်ခုအား သတ်မှတ်ထားသော ဒြပ်စင်/ဇာတ်ကောင်များ၏ အရေအတွက်သို့ ကန့်သတ်ထားသည်။
  • lowercase စာလုံးအသေးသို့ စာကြောင်းတစ်ခု ဖော်မတ်လုပ်ပါ။
  • numberနံပါတ်တစ်ခုကို စာကြောင်းတစ်ခုသို့ ပုံစံချပါ။
  • orderByဖော်ပြချက်တစ်ခုဖြင့် array တစ်ခုကို အမိန့်ပေးသည်။
  • uppercaseစာလုံးအကြီးသို့ စာကြောင်းတစ်ခု ဖော်မတ်လုပ်ပါ။

Filters များကို Expressions တွင်ထည့်ခြင်း။

|ပိုက်အက္ခရာကို အသုံးပြု၍ စစ်ထုတ်မှုတစ်ခုဖြင့် နောက်တွင် စစ်ထုတ် မှုများကို ထည့်သွင်းနိုင်သည် ။

စစ် uppercaseထုတ်သည့်ဖော်မတ်လိုင်းသည် စာလုံးအကြီးသို့ ရေးထားသည်-

ဥပမာ

<div ng-app="myApp" ng-controller="personCtrl">

<p>The name is {{ lastName | uppercase }}</p>

</div>

စစ် lowercaseထုတ်သည့်ဖော်မတ်လိုင်းသည် စာလုံးအသေးသို့ ရေးထားသည်-

ဥပမာ

<div ng-app="myApp" ng-controller="personCtrl">

<p>The name is {{ lastName | lowercase }}</p>

</div>


ညွှန်ကြားချက်များထဲသို့ Filters များထည့်ခြင်း။

ng-repeatပိုက်အက္ခရာကို အသုံးပြု၍ စစ်ထုတ်မှုတစ်ခုဖြင့် နောက်မှလိုက်သော ညွှန်ကြားချက်များကဲ့သို့ စစ်ထုတ်မှုများကို ပေါင်းထည့်သည် |-

ဥပမာ

filter သည် orderByarray တစ်ခုကို အမျိုးအစားခွဲသည်-

<div ng-app="myApp" ng-controller="namesCtrl">

<ul>
  <li ng-repeat="x in names | orderBy:'country'">
    {{ x.name + ', ' + x.country }}
  </li>
</ul>

</div>

ငွေကြေးစစ်ထုတ်ခြင်း။

စစ် currencyထုတ်မှုသည် နံပါတ်တစ်ခုကို ငွေကြေးအဖြစ် ဖော်မတ်လုပ်သည်-

ဥပမာ

<div ng-app="myApp" ng-controller="costCtrl">

<h1>Price: {{ price | currency }}</h1>

</div>

ကျွန်ုပ်တို့၏ AngularJS ငွေကြေးစစ်ထုတ် ခြင်းအကိုး အကားရှိ ငွေကြေးစစ်ထုတ်ခြင်းအကြောင်း ပိုမိုဖတ်ရှုပါ။


Filter က Filter ပါ။

filterfilter သည် array တစ်ခု၏ အစုခွဲတစ်ခုကို ရွေးသည်

စစ် filterထုတ်မှုကို array များတွင်သာ အသုံးပြုနိုင်ပြီး ၎င်းသည် ကိုက်ညီသည့်အရာများသာပါဝင်သော array တစ်ခုကို ပြန်ပေးသည်။

ဥပမာ

အက္ခရာ "i" ပါရှိသော အမည်များကို ပြန်ပေးပါ။

<div ng-app="myApp" ng-controller="namesCtrl">

<ul>
  <li ng-repeat="x in names | filter : 'i'">
    {{ x }}
  </li>
</ul>

</div>

ကျွန်ုပ်တို့၏ AngularJS filter Filter Reference ရှိ filter filter အကြောင်းပိုမိုဖတ်ရှုပါ။


အသုံးပြုသူထည့်သွင်းမှုအပေါ်အခြေခံ၍ Array တစ်ခုကို စစ်ထုတ်ပါ။

ထည့်သွင်းအကွက်တွင် ညွှန်ကြားချက် ကို သတ်မှတ်ခြင်းဖြင့် ng-model၊ ကျွန်ုပ်တို့သည် ထည့်သွင်းမှုအကွက်၏ တန်ဖိုးကို စစ်ထုတ်မှုတစ်ခုတွင် ဖော်ပြချက်တစ်ခုအဖြစ် အသုံးပြုနိုင်သည်။

ထည့်သွင်းမှုအကွက်တွင် စာတစ်စောင်ရိုက်ပါ၊ နှင့်ကိုက်ညီမှုအပေါ်မူတည်၍ စာရင်းသည် ကျုံ့/ကြီးထွားလိမ့်မည်-

  • ဂျနီ
  • ကားလ်
  • မာဂရက်
  • Hege
  • ဂျိုး
  • Gustav
  • ဘစ်ဂျစ်
  • မေရီ
  • Kai

ဥပမာ

<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>

အသုံးပြုသူထည့်သွင်းမှုအပေါ်အခြေခံ၍ Array တစ်ခုကိုစီပါ။

အမျိုးအစားအစီအစဥ်ကိုပြောင်းလဲရန် ဇယားခေါင်းစီးများကို နှိပ်ပါ-:

နာမည် တိုင်းပြည်
ဂျနီ နော်ဝေး
ကားလ် ဆွီဒင်
မာဂရက် အင်္ဂလန်
Hege နော်ဝေး
ဂျိုး ဒိန်းမတ်
Gustav ဆွီဒင်
ဘစ်ဂျစ် ဒိန်းမတ်
မေရီ အင်္ဂလန်
Kai နော်ဝေး

ဇယားခေါင်းစီးများတွင် ညွှန်ကြားချက်ကို ထည့်ခြင်းဖြင့် ng-click၊ array ၏ စီစဥ်မှု အစီအစဥ်ကို ပြောင်းလဲနိုင်သော လုပ်ဆောင်ချက်ကို ကျွန်ုပ်တို့ လုပ်ဆောင်နိုင်သည်-

ဥပမာ

<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>

စိတ်ကြိုက် စစ်ထုတ်မှုများ

သင့် module ဖြင့် filter factory function အသစ်ကို စာရင်းသွင်းခြင်းဖြင့် သင့်ကိုယ်ပိုင် filter များကို ပြုလုပ်နိုင်သည်-

ဥပမာ

"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ထုတ်မှုသည် အခြားစာလုံးတိုင်းကို စာလုံးအကြီးအဖြစ် ဖော်မတ်ပေးမည်ဖြစ်သည်။