我有一个模板'歌曲细节'我想从我的应用程序的其他两个部分访问。但是,我只能使用第一个导航历史记录。
我想访问' 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'
}
}
})
答案 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}}
的链接。
一切都应该按预期工作。