cari

Rumah  >  Soal Jawab  >  teks badan

angular.js - Bagaimana untuk mengendalikan fungsi carian sudut?

Andaikan saya mempunyai dua pengawal, kedua-dua pengawal ini adalah bersaudara
ListController ==> Pengawal senarai
SearchController ==> Halaman

berada dalam

sebaik sahaja ia muncul Selepas berjaya meminta data, ia dipasang pada 列表控制器 dan kemudian digunakan dalam paparan senarai. $scope.data

tetapi saya mahu mencari sekarang.

Terdapat kaedah dalam

. Masukkan teks dan klik Sahkan untuk mendapatkan data yang dikembalikan oleh pelayan. 搜索控制器

ok saya telah berjaya mendapatkan data sekarang, bagaimana saya menggunakan data itu pada

untuk memaparkan paparan senarai? 列表控制器

phpcn_u1582phpcn_u15822797 hari yang lalu572

membalas semua(3)saya akan balas

  • 淡淡烟草味

    淡淡烟草味2017-05-15 17:05:22

    Anda boleh menggunakan siaran angularjs, kod kunci adalah seperti berikut
    ListController

    $scope.$on('SearchController.onSearch',function(e,data){
        console.log(data);
    });

    Pengawal Carian

    //搜索方法请根据实例情况处理 ,这里只进行获得结果之后的处理
    $scope.search = function(){
        var data = [];//搜索到的数据,如果是异步拿到的,请把以后的代码放到回调中
        $scope.$emit('SearchController.onSearch',data);
    }

    $rootScope pemprosesan pengawal peringkat atas

    $scope.$on('SearchController.onSearch',function(e,data){
        $scope.$broadcast('SearchController.onSearch',data)    
    });

    Itu sahaja. Intinya ialah penggunaan siaran

    balas
    0
  • phpcn_u1582

    phpcn_u15822017-05-15 17:05:22

    Tulis perkhidmatan untuk menyimpan data global. Apabila memasuki halaman senarai, tentukan dahulu sama ada objek data global mempunyai data Jika tiada data, data asal akan dipaparkan secara langsung Jika terdapat data, ia bermakna carian telah selesai, dan data carian atau lain-lain kaedah paparan yang anda suka akan dipaparkan.

    balas
    0
  • ringa_lee

    ringa_lee2017-05-15 17:05:22

    Selepas mengklik carian, sudah tentu anda perlu meminta semula data hanya tetapkan semula nilai pada $scope.data= anda dan itu ok

    balas
    0
  • Batalbalas