Hi,
My case is simple. Using ionic 1.3.1, create tabs seed project, and add a subpage called dash-detail nested in tab-dash, add a button in tab-dash that when click $state.go(‘tab.dash-detail’).
Now following steps:
1.click chats tab;
2.click the first item go to Ben Sparrow page; (everything goes fine)
3.click nav-back-button go back to chats page;
4.click status tab;
5.click new added button go to dash-detail page;
6.click nav-back-button go back to dashboard;
7.again click chats tab;
8.again click the first item go to Ben Sparrow page; (nav-back-button is gone! sad)
I did a little dig into ionic.bundle.js, when step 7, line 54081 removes backViewId of dash-detail so that in step 8 nav-back-button not shown. In ionic 1.1.0, there’s no such code and everything goes fine. Is it a bug or I should fix my code? Please help!
// if switching to a different history, and the history of the view we're switching
// to has an existing back view from a different history than itself, then
// it's back view would be better represented using the current view as its back view
tmp = getViewById(switchToView.backViewId);
if (tmp && switchToView.historyId !== tmp.historyId) {
// the new view is being removed from it's old position in the history and being placed at the top,
// so we need to update any views that reference it as a backview, otherwise there will be infinitely loops
var viewIds = Object.keys(viewHistory.views);
viewIds.forEach(function(viewId) {
var view = viewHistory.views[viewId];
if ( view.backViewId === switchToView.viewId ) {
view.backViewId = null;
}
});
hist.stack[hist.cursor].backViewId = currentView.viewId;
}