离子框架中的共享视图

时间:2015-06-01 07:17:33

标签: angular-ui-router ionic-framework ionic

我有一个模板'歌曲细节'我想从我的应用程序的其他两个部分访问。但是,我只能使用第一个导航历史记录。

我想访问' song-detail'从浏览导航视图和收藏夹导航视图。我可以从两者都很好地访问它,但我只能得到'返回'来自tabs.browse的历史。

在共享单曲“歌曲细节”时是否可以获取导航历史记录?像这样看?

        .state('tabs', {
            url: '/tab',
            abstract: true,
            templateUrl: 'templates/tabs.html'
        })

        .state('tabs.browse', {
            url: '/browse',
            views: {
                'tab-browse': {
                    templateUrl: 'templates/tab-browse.html',
                    controller: 'BrowseCtrl'
                }
            }
        })

        .state('tabs.song-detail', {
            url: '/songs/:song_id',
            views: {
                'tab-browse': {
                    templateUrl: 'templates/song-detail.html',
                    controller: 'SongDetailCtrl'
                }
            }
        })


        .state('tabs.fav', {
            url: '/fav',
            views: {
                'tab-fav': {
                    templateUrl: 'templates/tab-fav.html',
                    controller: 'FavCtrl'
                }
            }
        })

        .state('tabs.fav-detail', {
            url: '/songs/:song_id',
            views: {
                'tab-fav': {
                    templateUrl: 'templates/song-detail.html',
                    controller: 'SongDetailCtrl'
                }
            }
        })

1 个答案:

答案 0 :(得分:1)

我猜你错过了抽象状态:

.state('tab', {
  url: "/tab",
  abstract: true,
  templateUrl: "templates/tabs.html"
})

然后您将拥有标签容器( tabs.html ):

<ion-tabs class="tabs-icon-top tabs-color-active-positive">

  <ion-tab title="Status" icon-off="ion-ios-pulse" icon-on="ion-ios-pulse-strong" href="#/tab/browse">
    <ion-nav-view name="tab-browse"></ion-nav-view>
  </ion-tab>

  ...

</ion-tabs>

你必须改变你的上一个状态:

.state('tabs.fav-detail', {
            url: '/fav/:song_id',
            views: {
                'tab-fav': {
                    templateUrl: 'templates/song-detail.html',
                    controller: 'SongDetailCtrl'
                }
    }
})

注意网址:url: '/fav/:song_id'

这是您的 tab-fav.html

                             

请注意,您有href="#/tab/fav/{{song.id}}的链接。

一切都应该按预期工作。