angularjs - 如何使用 angular ui-router 验证状态

标签 angularjs angular-ui-router

我们正在使用 angular-ui-router(我相信是 0.2.10 版)。

有两种主要方式可以到达一个状态,

  • a) 用户点击/修改对应于状态
  • 的 url
  • b)在某处编码,例如 Controller 调用 $state.go()。

  • 我们希望在 a) 情况下验证状态(例如,它是否根据一个或多个业务规则有效),但在 b) 情况下不这样做,因为我们非常确定我们的应用程序只会转换到有效状态。

    情况 a) 通常需要 http 往返来执行验证,如果可能,我们希望避免这种情况。

    这将如何实现?

    谢谢!

    最佳答案

    您可以将验证包装在服务中,并在每次状态更改时调用它。但是,在使用 $state.go() 移动到另一个状态之前,您指示验证服务将您传递的特定参数视为有效。例如。

    validationService.trustAsValid(yourData);
    

    关于angularjs - 如何使用 angular ui-router 验证状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25375480/

    相关文章:

    javascript - 如何从另一个 Controller 中的指令访问范围

    javascript - 如果满足条件,则以 Angular 形式显示图像

    javascript - 如何在指令 Controller 中注入(inject)依赖项

    javascript - 在 Angular 1 中更改正文标签类

    angularjs - 在 Ionic 中,如何在向左滑动时禁用垂直滚动?

    angularjs ng-click 默默地吃错误

    angularjs - Angular ui-router 通过解析和 promise /延迟获取异步数据

    angularjs - Angular - ui-router 获取之前的状态

    javascript - AngularJS 1.3 路由不起作用; Controller 从未调用过

    angularjs - 如何访问 ui-router 解析中的服务?