如何使用角度ui-router验证状态

6fo*_*der 5 angularjs angular-ui-router

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

到达州有两种主要方式,

  • a)用户点击/修改对应于状态的URL
  • b)代码某处,例如,控制器调用$ state.go().

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

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

这将如何实施?

谢谢!

lex*_*x82 0

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

validationService.trustAsValid(yourData);
Run Code Online (Sandbox Code Playgroud)