angularjs - $state.go ('state.name' ) 未正确更改状态

标签 angularjs angular-ui-router

我正在尝试以编程方式在状态之间移动(使用 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

最佳答案

两件事:

  1. 您忘记将 $state 注入(inject) app.run()
  2. 改用$stateChangeSuccess

    .run(['$rootScope','$state', function($rootScope, $state) { $rootScope.$on('$stateChangeSuccess', 函数(事件, 下一个) { $state.go('root.other'); })}]);

Working plunk .

关于angularjs - $state.go ('state.name' ) 未正确更改状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23077488/

相关文章:

node.js - 如何在 NodeJS 和 Express 中使用 Angular 包?

javascript - 如何使用 ngAnimate 平滑滚动?

node.js - Express + Angular 路由导致无限循环+崩溃

angularjs - onSuccess 转换回调 UI 路由器

angularjs - 用angularjs ui路由器将self部分替换为另一个部分

javascript - Angular/谷歌地图不在路径点之间绘制多段线

angularjs - 如何从指令 Controller 中发出 $http.get 请求?

angularjs - 关闭电子邮件验证

angularjs - Google Analytics 中的 UI 路由器状态变化跟踪

javascript - Angular ui-router中的双向子/资源关系