cari

Rumah  >  Soal Jawab  >  teks badan

angular.js - Mengenai isu penapis dalam angularjs

<li ng-repeat="telefon dalam telefon|filter:query">

Secara amnya, penapisan ditulis seperti ini, tetapi saya hanya mahu menyasarkan sebahagian daripada data Bagaimana untuk melaksanakan penapisan pada phone.name? ?

滿天的星座滿天的星座2859 hari yang lalu614

membalas semua(3)saya akan balas

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-15 16:58:17

    <li ng-repeat="telefon dalam telefon|penapis:{'name': query}">

    balas
    0
  • 漂亮男人

    漂亮男人2017-05-15 16:58:17

    Menurut dokumentasi rasmi, terdapat beberapa cara untuk mencapai ini:
    {{ filter_expression filter : expression : comparator}}

    1. Seperti kaedah yang diberikan oleh Guox, gunakan ungkapan:

    Objek: Objek corak boleh digunakan untuk menapis sifat tertentu pada objek yang terkandung oleh tatasusunan Contohnya predikat {name:"M", phone:"1"} akan mengembalikan tatasusunan item yang mempunyai nama sifat yang mengandungi "M. " dan telefon harta yang mengandungi "1".

    Digunakan sebagai Objek, digunakan untuk menapis atribut tertentu elemen tatasusunan, seperti ungkapan = {nama: "M", telefon: "1"}, kemudian ia akan menapis bahawa nama dalam tatasusunan mengandungi 'M' dan telefon mengandungi elemen '1'.

    Jadi hanya gunakan kaedah berikut

    <li ng-repeat="phone in phones|filter:{name:query}">
    

    2. Pembanding boleh digunakan:

    Pembanding yang digunakan dalam menentukan sama ada nilai yang dijangkakan (daripada ungkapan penapis) dan nilai sebenar (daripada objek dalam tatasusunan) harus dianggap sebagai padanan.
    fungsi(sebenar, dijangka): Fungsi akan menjadi diberi nilai objek dan nilai predikat untuk dibandingkan dan harus mengembalikan benar jika kedua-dua nilai harus dianggap sama.

    Nilai pulangan Comparator boleh digunakan untuk menentukan sama ada terdapat padanan Parameter input adalah sebenar (elemen dalam tatasusunan) dan dijangka (input)

    Kemudian tentukan fungsi

    $scope.customerFilter = customerFilter;
    
    function customerFilter(actual, expected){
        return actual.name.contains(expexted) ? true : false;
    }
    
    前端使用
    <li ng-repeat="phone in phones|filter:query:customerFilter">
    

    balas
    0
  • 習慣沉默

    習慣沉默2017-05-15 16:58:17

    Terima kasih banyak-banyak, terima kasih

    balas
    0
  • Batalbalas