angular.js - angular 搜索功能如何处理?
phpcn_u1582
phpcn_u1582 2017-05-15 17:03:22
0
3
553

假设我有两个控制器,这两个控制器是兄弟关系
ListController ==> 列表控制器
SearchController ==> 搜索控制器

页面一上来就在列表控制器中 请求数据成功后挂载到 $scope.data 然后在列表视图中应用。

but 我现在要搜索。

搜索控制器中有方法。输入文字点击确认,获取服务端返回的数据。

ok 我现在成功获取到数据了,我怎么把数据应用到 列表控制器 中 来渲染列表视图?

phpcn_u1582
phpcn_u1582

membalas semua(3)
淡淡烟草味

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

phpcn_u1582

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.

左手右手慢动作

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan