如何将路由过滤器添加到 Angular UI-Router?

How to add route filters to Angular UI-Router?

我希望能够根据用户的数据将每个用户引导至不同的视图。例如,如果用户尚未确认他们的电子邮件,他们应该会看到一个要求他们这样做的页面。如果用户是管理员,他们可以看到更多的东西。我没有从在线文档中找到任何内容。有人对此有想法吗?

作为参考,我有使用 Iron-Router 的经验,它方便地包含 onBefore 钩子。但是,我没有在这种情况下使用 Iron-Router。如果 Angular 的 UI-Router 也有类似的东西就好了。

UI-Router 有 2 个选项供您选择:

1.解析参数

您可以使用 resolve 为您的控制器提供状态自定义的内容或数据。 resolve 是一个可选的依赖映射,应该注入到控制器中。

通常用于获取将在控制器中使用的数据。

2。 onEnter (https://github.com/angular-ui/ui-router/wiki/Quick-Reference)

进入和退出状态时的回调函数。触发动作或调度事件的好方法,例如打开对话框。

  • onEnter函数,注入包括resolves
  • onExit函数,注入包括resolves