紧耦合控制器架构

时间:2014-05-28 15:56:48

标签: angularjs

Angular入门,我正在尝试实现一个工具栏。

应用程序在菜单栏,视图和构成网页的工具栏中构建。

此工具栏具有通用功能(提供帮助功能和错误显示),但对于特定视图,添加了一些控制功能的按钮(保存,取消,编辑,删除等)。

在当前设计中,视图和工具栏是兄弟姐妹。视图控制器依赖于视图包含的数据,它可以具有不同的功能。 (例如:视图可能允许数据导入,因此工具栏中将有一个导入功能,而其他视图可能不会。)

我的问题是我无法想象视图和工具栏之间的通信结构。由于控制器紧密耦合,服务似乎无法解决通信问题。

任何帮助?

1 个答案:

答案 0 :(得分:0)

你可以:

  • 使用rootScope在不同控制器/服务之间共享数据 (明智地使用)
  • 您可以使用发布和订阅应用事件 $on$broadcast$emit

我使用和帮助的一个好策略是将所有App事件定义保存在一个名为AppEvents的服务中,这样您就可以轻松跟踪它们并控制哪个事件从一个地方引起什么。

Here is one nice article to read that expands more on this topic