angularjs - Angularjs ui-route 正确实现多个视图
问题描述
我有以下文件夹结构:
-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 上的选择,我会更新图表。根 url 是'/root/{itemId}',我不能在查询字符串上添加一些其他值。如何管理内部变量和方法?
多谢
解决方案
据我了解,最好参加活动$emit
,$broadcast
并on
实现相同的目标。
正如我所看到的,您拥有独立的控制器,与大多数其他控制器没有关系。
实施它的一些建议:
- 使用
$rootScope.$emit
和$rootScope.on
如果他们的控制器没有关系。确保您手动删除它(如果应用程序不太重,可以忽略,但应牢记)。这个链接肯定会有所帮助。例如:
如果过滤器被更改,
filter-changed
将触发一个事件。将被通知graph.controller
并table.controller
相应地呈现 UI。
- 创建一个
messaging
服务,控制器将从那里订阅和取消订阅events
. 这将控制数量events
。您将知道在应用程序中实际创建了多少事件。
推荐阅读
- r - 无法在闪亮仪表板的主面板中显示图形
- firebase - Flutter Firebase 应用内消息在发布时不起作用
- python - Python/Pandas If 函数内的语句解释
- javascript - 从需要时间计算的函数中获取数据
- r - 在 Windows 上使用 fread (data.table) 或 read.csv 将希伯来语文本读入 R
- powershell - 基于模式匹配插入多行的 Powershell 脚本
- java - 不支持的 major.minor 版本 52.0 NetBeans Apache 12.2
- python - 如何从 models.py 调用函数到视图或模板
- reactjs - 在嵌套 if/else 语句中使用 prevProps 时,如何将 componentDidUpdate 转换为 useEffect?
- c# - 如何将 PHP 代码中的嵌套数组转换为 c#