【发布时间】:2015-11-23 17:25:55
【问题描述】:
我正在使用 AngularJS,并且我有一个指令,它有自己的控制器。它继承了父控制器的范围。
例如,考虑以下问题:
function ParentCtrl() {
$scope.aMethod = function() {
// DO SOMETHING
};
}
function ChildCtrl() {
$scope.bMethod = function() {
// DO SOMETHING ELSE
}
}
现在,ParentCtrl() 的 $scope.aMethod 由 ng-click 指令触发。我想做的是调用 ChildCtrl() 的$scope.bMethod。我该怎么做?
编辑:更多信息。与 ParentCtrl 关联的模板有一个按钮和多个指令。每个指令加载具有不同输入集的表单。当点击ParentCtrl Template中的按钮时,指令会以ng-switch on和ng-switch-when的方式依次加载。
当用户单击按钮时,属于指令的 ChildCtrl 用于将数据存储在各自的表单中。
因此,当单击按钮时:
1. ChildCtrl 保存与当前已加载的指令关联的模型。
2. ParentCtrl 加载系列中的下一个指令。ng-click 绑定到与 ParentCtrl 关联的按钮。但是当单击该按钮时,ChildCtrl 还需要执行一些操作(保存表单数据)。如何做到这一点?
【问题讨论】:
-
你不能。但是父范围属性上的服务或
$watch可以完成同样的事情。您能否提供有关您的用例的更多详细信息? -
@JoshDavidMiller 当然。编辑了我的问题以反映相同的...
-
你能发布一个识别核心问题空间的超级简单的 plunker 吗?
标签: angularjs