javascript - AngularJS的controller之间如何通信
巴扎黑
巴扎黑 2017-04-10 17:43:01
[JavaScript讨论组]

请问AngularJScontroller之间是如何传递数据(通信)的?

现在有一个需求:页面有一个搜索框和按钮,搜索框和按钮属于一个controller。搜索框和按钮下面是一个列表,此列表是一个controller。。

在搜索框中输入内容,点击按钮,使用$http服务从后台拿到数据之后,如何把数据传递给列表的controller然后更新列表视图?

如果,我用一个大controller包裹者搜索框、按钮、列表,然后列表还是一个controller,也就是说controller之间进行了嵌套,请问这种情况下如何把外层controller通过$http服务拿到的数据传递给内层controller呢?

请分别回答两个问题,因为两种情况在项目中都会用到,谢谢!

巴扎黑
巴扎黑

全部回复(3)
迷茫

如果是第二种情况很好办啊,列表的controller不是继承大controller的么?直接取就行了。

如果是分开的controller,就有点麻烦,可以考虑通过事件发送:发送到双方共同的父作用域上;或者用一个全局的事件发送。

参考https://github.com/xufei/blog/issues/18

高洛峰

对于第一个问题,可以使用

$broadcast 或者 $emit

进行 controller 间通信。

第二个问题,controller 是父子关系的时候,对应的 scope 具有原型链关系。

大家讲道理

也可以使用服务来传值。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号