Rumah hujung hadapan web tutorial js Penjelasan terperinci tentang menggunakan Penapis dalam Angularjs_AngularJS

Penjelasan terperinci tentang menggunakan Penapis dalam Angularjs_AngularJS

May 16, 2016 pm 03:11 PM
angularjs filters

Fungsi Penapis adalah untuk menerima input, memprosesnya melalui peraturan tertentu, dan kemudian mengembalikan hasil yang diproses kepada pengguna. Penapis boleh digunakan dalam templat, pengawal atau perkhidmatan, dan ia juga mudah untuk menyesuaikan Penapis.

Gunakan Penapis dalam templat

Penapis boleh digunakan dalam templat paparan menggunakan ungkapan sintaks berikut:

{{ ungkapan | penapis }}

Contohnya: Format {{ 12 | mata wang }} menggunakan penggunaan penapis mata wang untuk menapis nombor 12 ke dalam bentuk mata wang, dan hasilnya ialah $12.00.

Penapis boleh digunakan pada hasil penapisan lain. Ini dipanggil "rantaian" dan digunakan dengan sintaks berikut:

{{ penapisan | Parameter mungkin diperlukan dalam Penapis. Sintaksnya ialah:

{{ ungkapan |. penapis: hujah1: hujah2:... }}


Contohnya: Format {{ 1234 |. nombor:2 }} menggunakan penggunaan penapis nombor untuk menapis nombor 1234 menjadi nombor dengan dua titik perpuluhan.

Gunakan penapis dalam pengawal, perkhidmatan dan arahan


Anda boleh menggunakan penapis dalam pengawal, perkhidmatan dan arahan.

Untuk melakukan ini, anda perlu menyuntik nama kebergantungan ke dalam pengawal/perkhidmatan/arahan anda: penapis; Parameter yang disuntik ialah fungsi yang mengambil nilai sebagai parameter pertama dan kemudian menggunakan parameter kedua untuk menapis parameter.

Contoh berikut menggunakan Penapis yang dipanggil penapis. Penapis ini boleh mengurangkan tatasusunan berdasarkan sub tatasusunan. Anda juga boleh menggunakan penanda dalam templat paparan, seperti: {{ctrl.array|filter:'a'}}, yang akan melakukan carian teks penuh untuk 'a'. Walau bagaimanapun, menggunakan penapis dalam templat paparan akan menapis semula setiap penapis, dan jika tatasusunan agak besar, ia akan dimuatkan beberapa kali.

Jadi contoh berikut memanggil terus penapis dalam pengawal. Melalui ini, pengawal boleh memanggil penapis apabila diperlukan (contohnya: apabila data bahagian belakang dimuatkan atau ungkapan penapis berubah).

index.html:


<div ng-controller="FilterController as ctrl">
 <div>
  All entries:
  <span ng-repeat="entry in ctrl.array">{{entry.name}} </span>
 </div>
 <div>
  Entries that contain an "a":
  <span ng-repeat="entry in ctrl.filteredArray">{{entry.name}} </span>
 </div>
</div>
 
Salin selepas log masuk
skrip.js:


angular.module('FilterInControllerModule', []).
controller('FilterController', ['filterFilter', function(filterFilter) {
 this.array = [
  {name: 'Tobias'},
  {name: 'Jeff'},
  {name: 'Brian'},
  {name: 'Igor'},
  {name: 'James'},
  {name: 'Brad'}
 ];
 this.filteredArray = filterFilter(this.array, 'a');
}]);
Salin selepas log masuk
Hasilnya ialah:

All entries: Tobias Jeff Brian Igor James Brad
Entries that contain an "a": Tobias Brian James Brad
Salin selepas log masuk
Buat penapis tersuai:


Menulis penapis anda sendiri adalah sangat mudah: hanya daftarkan fungsi kilang penapis baharu dalam modul anda. Secara dalaman, filterProvider digunakan di sini. Fungsi kilang ini harus mengembalikan fungsi penapis baharu dengan nilai input sebagai hujah pertama. Sebarang parameter penapis diluluskan sebagai parameter tambahan kepada fungsi penapis.

Fungsi penapis ini sepatutnya menjadi fungsi yang mudah. Ini bermakna ia sepatutnya tidak mempunyai kewarganegaraan dan idempoten. Apabila fungsi input berubah, Angular bergantung pada sifat ini dan melaksanakan penapis.

Nota: Nama penapis mestilah pengecam ungkapan sudut yang sah. Contohnya huruf besar atau orderBy. Aksara khas tidak dibenarkan dalam nama, seperti tanda sempang dan noktah tidak dibenarkan. Jika anda mahu penapis anda diberi ruang nama, maka anda boleh menggunakan huruf besar (myappSubsectionFilterx) atau garis bawah (myapp_subsection_filterx).

Penapis contoh berikut membalikkan rentetan. Selain itu, ia boleh menambah syarat untuk menjadikan rentetan huruf besar.

index.html


<div ng-controller="MyController">
 <input ng-model="greeting" type="text"><br>
 No filter: {{greeting}}<br>
 Reverse: {{greeting|reverse}}<br>
 Reverse + uppercase: {{greeting|reverse:true}}<br>
 Reverse, filtered in controller: {{filteredGreeting}}<br>
</div>
 
Salin selepas log masuk
skrip.js


angular.module('myReverseFilterApp', [])
.filter('reverse', function() {
 return function(input, uppercase) {
  input = input || '';
  var out = "";
  for (var i = 0; i < input.length; i++) {
   out = input.charAt(i) + out;
  }
  // conditional based on optional argument
  if (uppercase) {
   out = out.toUpperCase();
  }
  return out;
 };
})
.controller('MyController', ['$scope', 'reverseFilter', function($scope, reverseFilter) {
 $scope.greeting = 'hello';
 $scope.filteredGreeting = reverseFilter($scope.greeting);
}]);
Salin selepas log masuk
Hasilnya ialah:

No filter: hello
Reverse: olleh
Reverse + uppercase: OLLEH
Reverse, filtered in controller: olleh
Salin selepas log masuk
Penapis stateful


Adalah sangat disyorkan untuk menulis penapis stateful kerana ini tidak boleh dioptimumkan dengan Angular, yang sering membawa kepada isu prestasi. Banyak penapis stateful ditukar kepada penapis stateless hanya dengan mendedahkan keadaan tersembunyi sebagai model dan menukarnya menjadi parameter penapis.

Walau bagaimanapun, jika anda perlu menulis penapis stateful, anda mesti menandakan penapis sebagai $stateful, yang bermaksud bahawa ia akan dilaksanakan satu kali atau lebih semasa setiap kitaran $digest.

indeks,html


<div ng-controller="MyController">
 Input: <input ng-model="greeting" type="text"><br>
 Decoration: <input ng-model="decoration.symbol" type="text"><br>
 No filter: {{greeting}}<br>
 Decorated: {{greeting | decorate}}<br>
</div>
 
Salin selepas log masuk
skrip.js:


angular.module('myStatefulFilterApp', [])
.filter('decorate', ['decoration', function(decoration) {

 function decorateFilter(input) {
  return decoration.symbol + input + decoration.symbol;
 }
 decorateFilter.$stateful = true;

 return decorateFilter;
}])
.controller('MyController', ['$scope', 'decoration', function($scope, decoration) {
 $scope.greeting = 'hello';
 $scope.decoration = decoration;
}])
.value('decoration', {symbol: '*'});

Salin selepas log masuk
Hasilnya ialah:

No filter: hello
Decorated: *hello*
Salin selepas log masuk
Lain kali saya akan menulis artikel tentang penggunaan biasa penapis dalam angularjs.
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Tutorial asas VUE3: menggunakan penapis untuk penapisan data Tutorial asas VUE3: menggunakan penapis untuk penapisan data Jun 15, 2023 pm 08:37 PM

VUE3 kini merupakan rangka kerja yang popular dalam pembangunan bahagian hadapan. Fungsi asas yang disediakannya boleh meningkatkan kecekapan pembangunan bahagian hadapan. Antaranya, penapis ialah alat yang sangat berguna dalam VUE3 Menggunakan penapis boleh menapis, menapis dan memproses data dengan mudah. Jadi apakah penapis? Ringkasnya, penapis ialah penapis dalam VUE3. Ia boleh digunakan untuk memproses data yang diberikan untuk membentangkan hasil yang lebih diingini dalam halaman. penapis adalah beberapa

Petua untuk menggunakan penapis untuk melaksanakan pemformatan data dan penapisan data dalam Vue Petua untuk menggunakan penapis untuk melaksanakan pemformatan data dan penapisan data dalam Vue Jun 25, 2023 pm 06:49 PM

Vue.js ialah rangka kerja JavaScript popular yang menyediakan banyak ciri dan alatan berguna untuk membantu pembangun bahagian hadapan membangunkan aplikasi yang sangat baik. Antaranya, penapis ialah fungsi yang sangat berguna dalam Vue.js, yang boleh digunakan untuk pemformatan dan penapisan data. Dalam Vue, penapis adalah setara dengan saluran paip dalam templat dan boleh digunakan untuk memproses dan mengubah data. Sebagai contoh, kita boleh menggunakan penapis untuk menukar format tarikh daripada tarikh asal kepada

2022年最新5款的angularjs教程从入门到精通 2022年最新5款的angularjs教程从入门到精通 Jun 15, 2017 pm 05:50 PM

Javascript 是一个非常有个性的语言. 无论是从代码的组织, 还是代码的编程范式, 还是面向对象理论都独具一格. 而很早就在争论的Javascript 是不是面向对象语言这个问题, 显然已有答案. 但是, 即使 Javascript 叱咤风云二十年, 如果想要看懂 jQuery, Angularjs, 甚至是 React 等流行框架, 观看《黑马云课堂JavaScript 高级框架设计视频教程》就对了。

Gunakan PHP dan AngularJS untuk membina tapak web responsif untuk menyediakan pengalaman pengguna yang berkualiti tinggi Gunakan PHP dan AngularJS untuk membina tapak web responsif untuk menyediakan pengalaman pengguna yang berkualiti tinggi Jun 27, 2023 pm 07:37 PM

Dalam era maklumat hari ini, laman web telah menjadi alat penting untuk orang ramai mendapatkan maklumat dan berkomunikasi. Tapak web responsif boleh menyesuaikan diri dengan pelbagai peranti dan memberikan pengguna pengalaman berkualiti tinggi, yang telah menjadi tumpuan dalam pembangunan tapak web moden. Artikel ini akan memperkenalkan cara menggunakan PHP dan AngularJS untuk membina tapak web responsif untuk memberikan pengalaman pengguna yang berkualiti tinggi. Pengenalan kepada PHP PHP ialah bahasa pengaturcaraan sisi pelayan sumber terbuka yang sesuai untuk pembangunan web. PHP mempunyai banyak kelebihan, seperti mudah dipelajari, merentas platform, perpustakaan alat yang kaya, kecekapan pembangunan

Bina aplikasi web menggunakan PHP dan AngularJS Bina aplikasi web menggunakan PHP dan AngularJS May 27, 2023 pm 08:10 PM

Dengan pembangunan berterusan Internet, aplikasi Web telah menjadi bahagian penting dalam pembinaan maklumat perusahaan dan cara kerja pemodenan yang diperlukan. Untuk menjadikan aplikasi web mudah dibangunkan, diselenggara dan dikembangkan, pembangun perlu memilih rangka kerja teknikal dan bahasa pengaturcaraan yang sesuai dengan keperluan pembangunan mereka. PHP dan AngularJS ialah dua teknologi pembangunan web yang sangat popular. Kedua-duanya adalah penyelesaian bahagian pelayan dan bahagian pelanggan. Penggunaan gabungan mereka boleh meningkatkan kecekapan pembangunan dan pengalaman pengguna aplikasi web. Kelebihan PHPPHP

Gunakan PHP dan AngularJS untuk membangunkan platform pengurusan fail dalam talian untuk memudahkan pengurusan fail Gunakan PHP dan AngularJS untuk membangunkan platform pengurusan fail dalam talian untuk memudahkan pengurusan fail Jun 27, 2023 pm 01:34 PM

Dengan populariti Internet, semakin ramai orang menggunakan rangkaian untuk memindahkan dan berkongsi fail. Namun, atas pelbagai sebab, pengurusan fail menggunakan kaedah tradisional seperti FTP tidak dapat memenuhi keperluan pengguna moden. Oleh itu, mewujudkan platform pengurusan fail dalam talian yang mudah digunakan, cekap dan selamat telah menjadi satu trend. Platform pengurusan fail dalam talian yang diperkenalkan dalam artikel ini adalah berdasarkan PHP dan AngularJS Ia boleh melakukan muat naik, memuat turun, mengedit, memadam dan operasi lain dengan mudah, dan menyediakan satu siri fungsi yang berkuasa, seperti perkongsian fail, carian,

Cara menggunakan PHP dan AngularJS untuk pembangunan bahagian hadapan Cara menggunakan PHP dan AngularJS untuk pembangunan bahagian hadapan May 11, 2023 pm 05:18 PM

Dengan populariti dan perkembangan Internet, pembangunan bahagian hadapan menjadi semakin penting. Sebagai pembangun bahagian hadapan, kita perlu memahami dan menguasai pelbagai alatan dan teknologi pembangunan. Antaranya, PHP dan AngularJS adalah dua alat yang sangat berguna dan popular. Dalam artikel ini, kami akan menerangkan cara menggunakan kedua-dua alat ini untuk pembangunan bahagian hadapan. 1. Pengenalan kepada PHP PHP ialah bahasa skrip bahagian pelayan sumber terbuka yang popular Ia sesuai untuk pembangunan web dan boleh dijalankan pada pelayan web dan pelbagai sistem pengendalian. Kelebihan PHP adalah kesederhanaan, kelajuan dan kemudahan

Bagaimana untuk menggunakan AngularJS dalam pengaturcaraan PHP? Bagaimana untuk menggunakan AngularJS dalam pengaturcaraan PHP? Jun 12, 2023 am 09:40 AM

Dengan populariti aplikasi web, rangka kerja bahagian hadapan AngularJS telah menjadi semakin popular. AngularJS ialah rangka kerja JavaScript yang dibangunkan oleh Google yang membantu anda membina aplikasi web dengan keupayaan aplikasi web dinamik. Sebaliknya, untuk pengaturcaraan bahagian belakang, PHP ialah bahasa pengaturcaraan yang sangat popular. Jika anda menggunakan PHP untuk pengaturcaraan sisi pelayan, maka menggunakan PHP dengan AngularJS akan membawa lebih banyak kesan dinamik ke tapak web anda.

See all articles