簡體   English   中英

使用$ state.go()更改頁面

[英]Change page with $state.go()

這可能是菜鳥的錯誤,但我無法使用以下方法來更改頁面:

$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內部獲得授權時,我要嘗試完成的操作是重定向到登錄頁面。

有任何想法嗎?

訪問Angular ui路由器-重定向根本不起作用 它使我對自己做錯了什么有一個更清晰的認識。

在以下頁面上找到了我的實際解決方案,由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");
});

太糟糕了,我不太了解該解決方案,但至少現在可以使用!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM