我正在尝试以编程方式在状态之间移动(使用 ui.router),而用户无需单击任何内容。文档位于 http://angular-ui.github.io/ui-router/site/#/api/ui.router.state .$state 似乎表明我可以使用 $state.go('state.name') 来完成此操作,只是我在完成这项工作时遇到了麻烦。
我创建了一个 plunkr 来演示我的问题。理想情况下,运行时状态应该切换为显示“成功”而不是“失败”。如果你查看控制台,它会说它无法读取未定义的属性“go”。我还能如何以编程方式更改状态?
谢谢!
http://plnkr.co/edit/MSLbKaKzmuXPud7ZcKqs
编辑:更清楚地指定我正在使用 ui.router
最佳答案
两件事:
- 您忘记将
$state
注入(inject)app.run()
改用
$stateChangeSuccess
.run(['$rootScope','$state', function($rootScope, $state) { $rootScope.$on('$stateChangeSuccess', 函数(事件, 下一个) { $state.go('root.other'); })}]);
关于angularjs - $state.go ('state.name' ) 未正确更改状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23077488/