刷新$状态时重定向到不同的$状态

时间:2016-04-20 12:28:09

标签: angularjs angular-ui-router

我正在使用Angular UI路由器,如果我有两个状态称为example-state和example-state-error。如果您在示例状态错误页面上按F5或浏览器刷新按钮,则它应重定向到example-state。有没有其他方法可以通过使用$ state的任何默认属性而不是捕获控制器中的重新加载事件并重定向它来实现此目的。

谢谢,Amir Suhail

1 个答案:

答案 0 :(得分:0)

您可以收听$stateChangeStart事件并在某些情况下重定向到您的州。为此,在run()块中写下以下内容:

$rootScope.$on("$stateChangeStart", function (ev, to, toParams, from, fromParams) { 
    if (/* your conditional expression */) {
         $state.transitionTo('example-state');
    }
});

有关详细信息,请查看ui-router的state change events