2015-04-21 84 views
0

我正在使用AngularJS和Ionic Framework構建應用程序。我的應用程序需要有一個註銷按鈕。當用戶按下注銷按鈕時,我想重新加載頁面,以便重新引導應用程序並清除所有緩存的數據。基於this StackOverflow Question我應該能夠做到$window.location.reload(true)。如果我只是通過ionic serve在瀏覽器中運行應用程序,那工作正常。但是,當我在實際的設備上運行它時,屏幕會變成空白,永遠不會回來。如何在移動設備上重新加載/刷新頁面而不會出現空白屏幕?如何防止在Ionic Framework中重新加載頁面時出現白屏

編輯:這是我的實際代碼:

angular.module('login').controller('logoutController', ['$state', '$window', function ($state, $window) { 
    $state.go('login'); 
    $window.location.reload(true); 
}]); 

我試圖轉換到login狀態後重新加載位置。

回答

1

上面的代碼工作正常。事實證明,我的問題是如何轉換到logout狀態。如果我在ion-item使用href,然後它會導致黑屏的問題:

<ion-item nav-clear menu-close class="item-icon-left" href="#/logout"> 
    Logout 
</ion-item> 

但是,如果我在ion-item使用ui-sref,則不會出現黑屏:

<ion-item nav-clear menu-close class="item-icon-left" ui-sref="logout"> 
    Logout 
</ion-item> 

別不要問我如何或爲什麼會發生。這正是我所觀察到的。

0

我剛剛在我的應用程序的註銷函數中測試了$ window.location.reload(true),它工作正常(也在實際應用程序中)。

爲了解決您的問題,請獲得肯定

  1. 您添加$window在您的視圖的控制器依賴

  2. 您的用戶發送到應用程序輸入視圖,通過調用 $state.go("your-entry-view")通過在$stateProvider config中定義回退狀態: $urlRouterProvider.otherwise('/your-entry-views-url')

如果沒有幫助,爲我們提供了一些細節,比如你在哪裏調用註銷功能,你的狀態配置的控制器。你的控制檯輸出也可以幫助你。

相關問題