【发布时间】:2015-02-08 00:58:18
【问题描述】:
我想让模态对话框在 Angular UI Router 中成为一个单独的状态。但是,我有一种情况,模态框可以/应该出现在所有状态之上......我不确定这是否可能。
例如,假设我有 /store 和 /admin 作为 2 个独立的顶级状态。现在想象一下,我有一个不相关的模态对话框,比如应该放在每个表单之上的联系表单(仅作为示例)。
如果我将其建模为/contact,/store 或/admin 状态显然会被遗忘,因此模态背后的背景是空白的。
解决方案可能是有两个子状态,如/store/contact 和/admin/contact,这样可以保留模式对话框后面的内容...但是,这种方法不适用于 X 数量的顶级状态.
简而言之,我怎么能说/contact 是所有状态的孩子,无论嵌套如何?这可能吗?还是在这种情况下我根本不必使用 Angular UI 路由器?
【问题讨论】:
-
Radim 的回答(以编程方式遍历每个状态并添加子状态)绝对是我提倡的一种模式。另外,请查看 UI-Router Extras “Sticky States”。有一个示例为您提出的状态布局提供了一个解决方案,其中带有“侧面”的模态状态:christopherthielen.github.io/ui-router-extras/example/…
标签: javascript angularjs modal-dialog angular-ui-router