这可能是菜鸟犯的错误,但我很难用以下方法更改页面:
$state.go('login');
我的路由如下:
$stateProvider
.state('login', {
url: "/login",
templateUrl: "./auth/login.html",
controller: 'loginCtrl'
})我还添加了一个
$rootScope.$on("$stateChangeStart", function (event, next) {...}
在我使用$state.go()之后,检查它是否到达了那里;它到达了那里,但它根本不改变我的页面或URL。更改页面可以很好地处理ui-sref="login"中的view.html。
我试过的其他语法:
$state.go('login', null, {options: { location : true } } );
$state.go('login', {}, {location : true});顺便说一句,当用户在$stageChangeStart-event.中未被授权时,我想要完成的是重定向到登录页面。
有什么想法吗?
发布于 2015-07-27 21:48:13
访问Angular ui router - Redirection doesn't work at all。这让我更清楚地知道我做错了什么。
我的实际解决方案是在下面的一页中找到的,下面是由回答的。
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");
});糟糕的是,我并不真正理解这个解决方案,但至少它现在起作用了!
https://stackoverflow.com/questions/31656911
复制相似问题