在父控制器方法中触发子控制器的方法

时间:2014-10-09 06:50:53

标签: angularjs

我在两个独立的模块中有两个控制器(在两个单独的.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)

最佳方法是什么以及如何做到这一点?

1 个答案:

答案 0 :(得分:2)

您是否在下面引用了具有工作演示的链接,它使用了$ broadcast

angularJS: How to call child scope function in parent scope

希望它有所帮助...