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

时间:2017-07-20 09:17:02

标签: angularjs angularjs-directive angularjs-scope

有什么方法可以让我在一个页面上显示一个函数来调用并在该页面上由custom指令链接的其他页面成功执行任何事件时执行?

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

我会感谢你的帮助,我厌倦了将方法传递给自定义指令,但它没有成功。

1 个答案:

答案 0 :(得分:0)

您可以为$emit$broadcast服务提供帮助:

<强> $ EMIT

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

<强> $广播

将事件名称向下调度到所有子范围(及其子级),并通知已注册的$ rootScope.Scope侦听器。事件生命周期从调用$ broadcast的范围开始。此范围内事件的所有侦听器都会收到通知。之后,事件向下遍历子范围,并在此过程中调用所有已注册的侦听器。该活动无法取消。

在$

它监听给定类型的事件。它可以捕获$ broadcast和$ emit调度的事件。

演示工作代码,直观地显示范围树(父/子关系):
  http://plnkr.co/edit/0kUXvoRkPPNJpQ2C2xWU?p=preview