我正在使用AngularJS,我有一个指令,它有自己的控制器。它继承了父控制器的范围。从AngularJS的父控制器调用指令控制器的方法
作为一个例子,考虑以下因素:
function ParentCtrl() {
$scope.aMethod = function() {
// DO SOMETHING
};
}
function ChildCtrl() {
$scope.bMethod = function() {
// DO SOMETHING ELSE
}
}
现在,ParentCtrl的$scope.aMethod
()由NG点击指令触发。我想要做的是调用ChildCtrl()的$scope.bMethod
。我该怎么做?
编辑:一些更多的信息。与ParentCtrl关联的模板有一个按钮和多个指令。每个指令都会使用不同的输入集来加载表单。当单击ParentCtrl模板中的按钮时,指令将通过ng-switch on
和ng-switch-when
一个接一个加载。
当用户单击该按钮时,属于该指令的ChildCtrl用于将数据存储在其各自的表单中。
因此,单击按钮时:
1. ChildCtrl保存与已加载的当前指令关联的模型。
2. ParentCtrl加载系列中的下一个指令。
ng-click
被绑定到与ParentCtrl关联的按钮。但是,当点击该按钮时,ChildCtrl还需要执行一些操作(保存表单数据)。如何做到这一点?
你不能。但是一个父级范围属性上的服务或'$ watch'可以完成同样的事情。你能提供一个关于你的用例的更多细节吗? – 2013-03-01 19:10:53
@JoshDavidMiller当然。编辑我的问题,以反映相同的... – callmekatootie 2013-03-01 19:29:29
你可以发布一个超级简单的蹲点,确定核心问题空间? – 2013-03-01 19:56:53