I found the answer to my own question!
It's a routing mistake...
To do this, the tabs.details state must have the same view name as the parent tab.
.state('tabs.news', {
url: '/news',
views: {
'news-tab': {
templateUrl: 'templates/news.html',
controller: 'NewsCtrl'
}
}
})
.state('tabs.details', {
url: '/details',
views: {
'news-tab': { // SAME VIEW NAME!!!
templateUrl: 'templates/details.html',
controller: 'DetailsCtrl'
}
}
})