Angularjs ui-路由正确实现多个视图

Angularjs ui-route correct implementation for multiple views

我想实现这样的页面

我有以下文件夹结构:

-root/
--root.controller.js
--root.module.js
--root.routes.js
--root.html
--filters/
----filters.controller.js
----filters.module.js
----filters.routes.js
----filters.html
--tableData/
----tableData.controller.js
----tableData.module.js
----tableData.routes.js
----tableData.html
--graph/
----graph.controller.js
----graph.module.js
----graph.routes.js
----graph.html

我想知道最好的方法,以便以最好的方式管理来自每个控制器的调用。 我的意思是,从过滤器中,我可以更改下拉列表中的选择或更新其他字段值,然后我将更新表数据上的数据。如果我更改表数据的选择,我会更新图形。 Root url 是 '/root/{itemId}' 并且我无法在查询字符串上添加一些其他值。 如何管理内部变量和方法?

非常感谢

根据我的理解,最好参加活动 $emit$broadcaston 来达到同样的目的。

如我所见,您有独立的控制器,与大多数其他控制器没有关系。

实现它的一些建议:

  1. 如果他们的控制者没有关系,则使用 $rootScope.$emit$rootScope.on。确保你手动删除它(如果应用程序不是太重可以忽略但应该记住)。 例如:

If the filter is changed, an event filter-changed will be triggered. The graph.controller and table.controller will be informed and will render the UI accordingly.

  1. 创建一个 messaging 服务,控制器将从中订阅和取消订阅 events。这将控制 events 的数量。您会知道在应用程序中实际创建了多少事件。