我在两个独立的模块中有两个控制器(在两个单独的.js文件中),html是这样的:
<div ng-controller="ParentCtrl as parent">
.
.
.
<div ng-controller="ChildCtrl as child">
<table>
.
.
.
</table>
</div>
<button ng-click="parent.cancel()">Cancel</button>
</div>
我的目标是在单击取消按钮时清空ChildCtrl范围内的表。我在ChildCtrl中有deleteAll()方法清空表,但是,我希望从ParentCtrl.cancel()内部调用该方法。基于我所做的一些研究,虽然我没有工作解决方案,但我有这些选择:
(1)使用服务(尽管我已经看过的例子中,只有服务共享数据,而不是方法)
(2)使用$ rootscope
(3)使用$ broadcast(再次使用$ rootscope)
最佳方法是什么以及如何做到这一点?
答案 0 :(得分:2)
您是否在下面引用了具有工作演示的链接,它使用了$ broadcast
angularJS: How to call child scope function in parent scope
希望它有所帮助...