2015-08-31 37 views
0

我試圖將本機應用程序遷移到離子,但我遇到一個主要問題,幾乎肯定是一個阻礙,如果我至少不能解決它。離線導航視圖與側面菜單丟失時切換標籤

基本上,我有一個應用程序與多個選項卡,並且他們每個人都有一個拆分視圖。我附加了一個蹦極來展示簡化的應用程序版本的樣子。我的問題是,切換選項卡時,離子導航視圖不保留其歷史記錄。更具體一些關於我的例子:在從側面菜單中選擇一個播放列表並切換到「搜索」然後返回到「播放列表」後,該選項卡上的導航歷史記錄將不會保留,並會重置爲其「根」狀態。

我認爲這發生在ion-nav-view元素不是離子選項卡元素的直接子元素(在我的情況下,因爲它位於離子菜單內容中),但是我不太確定。總體而言,我覺得示例中的應用程序狀態可能需要一些愛。我在做什麼錯事?這是一個已知的離子限制嗎?

國家提供的配置如下,下面是鏈接爲全面plunker例如:

$stateProvider 

    .state('tabs', { 
    url: '/app', 
    abstract: true, 
    templateUrl: 'tabs.html', 
    controller: 'AppCtrl' 
    }) 

    .state('tabs.search', { 
    url: '/search', 
    views: { 
     'search': { 
     templateUrl: 'search.html' 
     } 
    } 
    }) 
    .state('tabs.playlists', { 
    url: '/playlists', 
    views: { 
     'menu': { 
     templateUrl: 'playlists.html', 
     controller: 'PlaylistsCtrl' 
     }, 
     'menuContent': { 
     templateUrl: 'empty.html' 
     } 
    } 
    }) 
    .state('tabs.playlist', { 
    url: '/playlists/:playlistId', 
    views: { 
     'menu': { 
     templateUrl: 'playlists.html', 
     controller: 'PlaylistsCtrl' 
     }, 
     'menuContent': { 
     templateUrl: 'playlist.html', 
     controller: 'PlaylistCtrl' 
     } 
    } 
    }); 

這裏與應用的一個plunker:http://plnkr.co/edit/UZp3EE3l6X5IIdvpu477

謝謝!

回答

0

根據This other question,每當您瀏覽標籤時,它會創建一個新的歷史記錄,所以沒有回來。你需要用你自己的代碼來處理這個問題。他們建議直接使用goBack()。喜歡的東西:

$ionicHistory.viewHistory().backView 

此外,你需要處理的情況時,有沒有backView因爲你登錄到應用程序。