angularjs - Angular 路由 : resolve vs. Controller

标签 angularjs angular-ui-router angularjs-routing

我在互联网上没有找到答案,所以我来这里寻求帮助:

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

我发现的第一个是将 ui.router 与解析方法一起使用。然后您可以将数据注入(inject) Controller 。

另一方面,关注johnpapa指南,我发现您还可以使用 activate() 方法。

那么,在 /users 状态下获取数据(假设是用户列表)的最佳方式是什么:使用 activate() 方法收集用户列表,还是使用路由中的resolve来注入(inject)用户列表?

最佳答案

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

如果您在 Controller 中获取数据,则必须自己进行错误处理/重定向,并且可能会导致屏幕闪烁/奇怪的行为,因为在模板已加载时请求首先必须完成/失败。

关于angularjs - Angular 路由 : resolve vs. Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36327944/

相关文章:

php - Angularjs,从 IE 中的 url 中删除 #

javascript - 为什么在模板之间切换时 animate ="true"被忽略?

javascript - AngularJS依赖注入(inject)的顺序

javascript - Angular ui 路由器 - 多次使用相同的 templateUrl 和 Controller

javascript - AngularJS 路由和 anchor 哈希

javascript - angularjs ui-view元素不呈现内容

AngularJS 1.2 Animation 回退,当不支持 cssanimations 时

javascript - Angular 1.X 创建一个表单,其值通过按钮增加/减少

angular - 如何在全局错误处理程序中正确重定向

javascript - 如果按后退按钮,Angularjs 不会加载 Controller