免责声明我不是在寻找简单的父/子ui路由器关系
我正在寻找一个解决方案,我在一个页面上,我可以更改为任意状态而不删除前一个状态的内容/侦听器。
使用案例
/splash
更改为/login
我的想法是,我不需要在任何特定的子女状态下工作。
答案 0 :(得分:3)
您可以使用UI-Router Extras“Sticky States”执行此操作。
以下是UI-Router Extras模式演示:http://christopherthielen.github.io/ui-router-extras/example/stickymodal/#/
添加UI-Router Extras:
<script src="https://rawgit.com/christopherthielen/ui-router-extras/0.0.10/release/ct-ui-router-extras.js"></script>
var app = angular.module('plunker', ['ui.router', 'ct.ui.router.extras', 'ui.bootstrap']);
为app添加一个命名的ui-view,为模态添加一个
<body>
<div ui-view="app"></div>
<div ui-view="modal"></div>
</body>
将您的应用状态标记为sticky
。结果是你可以从任何app.*
状态导航到模态状态...而不是退出该状态,它只会“停用”它,它将保留在DOM中。
$stateProvider
.state("app", {
template: "<div ui-view></div>",
sticky: true,
答案 1 :(得分:0)
你不能同时在许多州。模态有自己的范围,你可以传递自己的东西,通常模态不与状态开关相关联。