angular.js - angular 搜索功能如何处理?

查看:81
本文介绍了angular.js - angular 搜索功能如何处理?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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

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

but 我现在要搜索。

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

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

解决方案

可以用angularjs的广播,关键代码如下
ListController

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

SearchController

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

$rootScope顶级控制器处理

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

就可以了。核心是利用了广播

这篇关于angular.js - angular 搜索功能如何处理?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆