Angular js从一个页面调用另一个页面的方法

Angular Js calling method of one page from another

有什么方法可以让一个函数出现在一个页面上,并在该页面上的自定义指令链接的其他页面的任何事件成功时执行??

场景:我有一个页面,其中的网格具有不同的列,以及一个自定义指令,通过该指令我通过打开特定于该行的模式弹出窗口来编辑数据,现在我想在父页面上调用一个方法来验证新值如果不正确,最后的 'Submit' 按钮将被禁用,否则自动启用。

非常感谢您的帮助,我厌倦了将方法传递给自定义指令,但它没有用。

您可以试试 $emit$broadcast 服务:

$emit

它通过作用域层次结构向上调度一个事件名称,并通知已注册的 $rootScope.Scope 侦听器。事件生命周期从调用 $emit 的范围开始。该事件向上遍历到根作用域,并沿途调用所有已注册的侦听器。如果其中一位侦听器取消事件,事件将停止传播。

$广播

它向下派发一个事件名称到所有子作用域(及其子作用域)并通知已注册的 $rootScope.Scope 侦听器。事件生命周期从调用 $broadcast 的范围开始。此范围内事件的所有侦听器都会收到通知。之后,事件向下遍历到子作用域,并沿途调用所有已注册的侦听器。活动无法取消。

$on

它侦听给定类型的事件。它可以捕获 $broadcast 和 $emit 派发的事件。


演示工作代码,直观地显示作用域树(parent/child 关系):
http://plnkr.co/edit/0kUXvoRkPPNJpQ2C2xWU?p=preview