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