如何从Angular中的嵌套控制器调用函数?

时间:2015-04-09 19:28:40

标签: javascript angularjs controller nested directive

在我的角度应用程序中,我想从嵌套控制器调用一个函数。例如,下面我想在容器的当前视图中,它有自己的 containerCtrl 让我们说,能够按下这个按钮但是调用一个名为' buttonPress'这是在Ctrl1控制器中定义的。现在,我无法做到这一点,因为它刚好没有在containerCtrl范围内定义。

HTML:

<div id="container">
    <button ng-click="Ctrl1.buttonPress()">I WANT TO PRESS THIS</button>
    <div ng-controller='Ctrl1'>
    <div ng-controller='Ctrl2'>
</div>

有没有办法调用该功能?

1 个答案:

答案 0 :(得分:-1)

所以你要调用来自父控制器的子控制器中的 buttonPress()方法,在你的情况下它是从 containerCtrl Ctrl1 。 您只能从子控制器调用父控制器的方法。

为什么要从父控制器调用它。为什么不直接将其命名为Parent,然后从父控制器或任何子控制器中调用它。

一种方法是使用 emit 广播

点击此链接了解有关发布广播

的更多信息

Working with $scope.$emit and $scope.$on