angular 路由:解析与控制器

angular routing : resolve vs. controller

网上没找到答案所以来这里求助:

在 AngularJS 中更改状态时使用的最佳做法是什么?

我发现的第一个是将 ui.router 与 resolve 方法一起使用。然后,您可以将数据注入控制器。

另一方面,根据 johnpapa 指南,我发现您也可以使用 activate() 方法。

那么,在进入状态 /users 时获取数据(比如说用户列表)的最佳方法是什么:使用 activate() 方法来收集用户列表,或者在路由中使用 resolve 来注入用户列表?

虽然这个问题似乎是基于意见的,但我建议在请求的数据对于显示状态绝对必要时对状态使用解析。如果数据加载失败,错误处理程序将自动路由到错误状态。

如果您在控制器中获取数据,您必须自己执行错误 handling/redirecting 并且可能会导致闪烁 screens/strange 行为,因为请求首先必须 finish/fail 而模板已加载。