这可能是一个新手的错误,但我无法使用以下方式更改页面:
$state.go('login');
我的路由如下:
$stateProvider
.state('login', {
url: "/login",
templateUrl: "./auth/login.html",
controller: 'loginCtrl'
})
我还添加了一个
$rootScope.$on("$stateChangeStart", function (event, next) {...}
在我使用 $ state.go()之后检查它是否到达那里,是的;它到达那里但它根本不会改变我的页面或URL。更改页面可以在view.html内使用ui-sref="login"
。
我试过的其他语法:
$state.go('login', null, {options: { location : true } } );
$state.go('login', {}, {location : true});
顺便说一句,我想要完成的是当用户未在 $ stageChangeStart-event 内获得授权时重定向到登录页面。
有什么想法吗?
答案 0 :(得分:0)
访问Angular ui router - Redirection doesn't work at all。它让我更清楚地知道我做错了什么。
我的实际解决方案可在以下页面找到 frankwallis :
https://github.com/angular-ui/ui-router/issues/600
我用
替换了我的默认$urlRouterProvider.otherwise('/yourpage');
$urlRouterProvider.otherwise( function($injector, $location) {
var $state = $injector.get("$state");
$state.go("app.home");
});
太糟糕了,我不太了解解决方案但至少它现在有用了!