是否有角度的事件发布/子框架?

时间:2015-11-27 13:48:34

标签: javascript c# angularjs wpf publish-subscribe

我来自WPF背景,在Prism中你有IEventAggregator接口。您可以定义可以从控制器订阅的事件,然后从另一个控制器发布该事件。这是一种在彼此不了解的控制器之间进行通信的方法。

Angular JS中有类似的东西吗?

即我有一个index.html页面的顶级控制器,它包含三个子面板,每个子面板都有自己的控制器。我希望顶级控制器能够在面板控制器上调用refresh(),但它没有引用这些控制器。

1 个答案:

答案 0 :(得分:0)

我认为你可以使用$ scope。$ broadcast向儿童控制人员发送行动;

发送数据后
$scope.$broadcast('customEvent', {
  command: 'reload'
});

你可以在子控制器中设置监听器

$scope.$on('customEvent', function (event, data) {
  if(data === 'reload'){
     //reload
  }
});

这里有很好的解释: http://toddmotto.com/all-about-angulars-emit-broadcast-on-publish-subscribing/