首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用$state.go()更改页面

用$state.go()更改页面
EN

Stack Overflow用户
提问于 2015-07-27 15:18:18
回答 1查看 1.6K关注 0票数 0

这可能是菜鸟犯的错误,但我很难用以下方法更改页面:

$state.go('login');

我的路由如下:

代码语言:javascript
复制
$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。

我试过的其他语法:

代码语言:javascript
复制
$state.go('login', null, {options: { location : true }  } );
$state.go('login', {}, {location : true});

顺便说一句,当用户在$stageChangeStart-event.中未被授权时,我想要完成的是重定向到登录页面。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 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');替换为

代码语言:javascript
复制
$urlRouterProvider.otherwise( function($injector, $location) {
     var $state = $injector.get("$state");
     $state.go("app.home");
});

糟糕的是,我并不真正理解这个解决方案,但至少它现在起作用了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31656911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档