Angularjs ui-route正确实现多个视图

时间:2018-05-10 09:15:22

标签: angularjs angular-ui-router multiple-views nested-views

我想实现这样的页面 enter image description here

我有以下文件夹结构:

-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

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

非常感谢

1 个答案:

答案 0 :(得分:1)

根据我的理解,参加活动$emit$broadcast& on实现同样的目标。

正如我所看到的,你有独立的控制器,与大多数其他控制器没有任何关系。

实施它的建议很少:

  1. 如果控制器没有任何关系,请使用$rootScope.$emit$rootScope.on。确保你手动删除它(如果应用程序不是太重,可以忽略,但应该记住)。 This link will be surely helpful。的例如
  2.   

    如果更改过滤器,将触发事件filter-changed。将通知graph.controllertable.controller,并相应地呈现用户界面。

    1. 创建一个messaging服务,控制器将从该服务订阅并取消订阅events。这样可以控制events的数量。您将了解在应用程序中实际创建了多少事件。