Angular UI路由器嵌套状态在子状态中解析

 鄢都浪子_562 发布于 2023-02-11 10:18

在我正在研究的一个有角度的应用程序中,我希望有一个抽象的父状态,它必须解决其所有子状态的某些依赖关系.具体来说,我希望所有州都要求经过身份验证的用户从某个authroot状态继承该依赖关系.

我遇到的问题是父依赖关系并不总是被重新解决.理想情况下,我希望让父状态检查用户是否仍然自动登录任何子状态.它说,在文档中

子状态将从父状态继承已解析的依赖关系,它们可以覆盖它们.

我发现如果我从父级之外的状态进入任何子状态,父级依赖关系只会被重新解析,但如果在兄弟状态之间移动则不会.

在此示例中,如果在状态authroot.testA和authroot.testB之间移动,则只调用一次GetUser方法.当你移动到other状态并返回时,它将再次运行.

我能够将User依赖于每个子状态,以确保每次进入任何这些状态时都调用该方法,但这似乎会破坏继承依赖的目的.

我不正确地理解文档吗?有没有办法强制父状态重新解决其依赖关系,即使状态在兄弟姐妹之间发生变化?

的jsfiddle









    Goto A
    Goto B
    Goto Other
    
Loading...

Radim Köhler.. 20

我找到ui-router例外的方式就是你刚刚描述的行为.

让我们考虑一些实体,例如Contact.因此,有一个右侧向我们显示联系人列表,左侧部分是详细信息,这将是很好的.请查看使用ui-router和AngularJS的基础知识,以便快速了解布局.引用:

ui-router完全包含路由系统的状态机特性.它允许您定义状态,并将应用程序转换为这些状态.真正的胜利是它允许你解耦嵌套状态,并以优雅的方式做一些非常复杂的布局.

你需要以不同的方式考虑你的路由,但是一旦你了解了基于状态的方法,我想你会喜欢它.

好的,为什么这一切?

因为我们可以有一个Contact表示List 的状态.从细节的角度说一个固定的列表.(现在跳过列表分页过滤)我们可以单击列表并移动到某个状态,以查看所选项目.然后选择其他联系人/项目.Contact.Detail(ID)

这里嵌套状态的优点来自:

列表(状态Contact)是重新加载.而孩子的状态Contact.Detail是.

这应该解释为什么应该将"怪异"行为视为正确.

要回答您的问题,如何处理用户状态.我会使用路由状态的一些顶级兄弟,其分离的视图和控制器以及一些生命周期...在某些周期中触发

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有