Я решил свою проблему!
Если у каждой вкладки есть эксклюзивный маршрут, мы можем использовать angular ui router sticky, чтобы справиться с этим.
использование самозагрузки
users.pug
ul.nav.nav-tabs
li.nav-item(ui-sref-active-eq='active')
a.nav-link(ui-sref="users") users list
li.nav-item(ui-sref-active-eq='active')
a.nav-link(ui-sref="users.newUser") newUser
.tab-content(ui-view="usersTab")
usersList.pug
h1 users list page
newuser.pug
h1 new user page
route.js
.state('users', {
url: '/users',
templateUrl: 'users.html',
controller: 'usersCtrl'
})
.state('usersList', {
url: '/usersList',
sticky: true,
views: {
"usersTab": {
templateUrl: 'usersList.html',
controller: 'usersListCtrl'
}
}
})
.state('newUser', {
url: '/newUser',
sticky: true,
views: {
"usersTab": {
templateUrl: 'newUser.html',
controller: 'newUserCtrl'
}
}
})
И активная каждая вкладка может использовать: ui-sref-active-eq='active'
и .active
изменение класса активной вкладки типа
Используйте '$ stateParams' для того, чтобы получить передается параметр. И при необходимости определите параметр «url:»/entity/list? Param1 & param2' в маршруте. –