Angular 2 final已经发布,我一直在玩最终的路由器发布。
路由器的一个很好的例子可以在这里找到:http://plnkr.co/edit/mXSjnUtN7CM6ZqtOicE2?p=preview
我想知道是否有任何机制可以保持当前模块在DOM(但隐藏)中呈现,同时加载一个新的顶部?这里的用例是,用户可能正在使用Admin-type模块并意识到他们需要创建一些资产(可能是用户),因此跳转到Users模块进行创建;然后跳回到他们在Admin模块中的位置。
在这种情况下,用户可能处于Admin模块的某个深层链接部分,这会让他们失去他们正在做的事情,这是非常奇怪的行为。
这可能吗?从我迄今为止完成的所有内容中,我已经看到<router-outlet>
标记中显示的模块完全从DOM中删除。
谢谢!
答案 0 :(得分:2)
当前路由更改时,路由器添加的组件将被丢弃。 This is planned to be made configurable eventually。
如果您将数据(模型)保留在共享服务中(不丢弃)而不是组件本身,则用户在导航回上一个路径时会返回原始视图。
需要在路由器无法删除的组件上提供服务。 @NgModule()
中没有延迟加载的根组件可以正常工作。