У меня есть проект, для которого мне нужны 2 макета. Один из них, в основном, 1 столбец (вид целевой страницы) и тот, у которого есть меню наверху, и в основном одно и то же 1 макет столбца.Несколько макетов с UI-Router
Я установил два макета HTML, которые я использую в своих состояниях, но проблема в том, что каждый раз, когда я переключаюсь из одного состояния в другое, весь HTML в самом верхнем ui-view
(один в теле).
Вот мои настройки:
Маршруты
.state('root', {
url: '',
abstract: true,
templateUrl: 'app/layouts/logged-in.html'
})
.state('root.homepage', {
url: '/',
templateUrl: 'app/main/main.html',
controller: 'MainController',
controllerAs: 'main'
})
.state('candidate', {
url: '/candidate',
abstract: true,
templateUrl: 'app/layouts/logged-in.html'
})
.state('candidate.profile', {
url: '/profile',
templateUrl: 'app/candidate/profile.html',
controller: 'CandidateProfileController',
controllerAs: 'profile'
})
index.html
<body>
<div ui-view></div>
</body>
вошедшего in.html
<div>
<my-navbar></my-navbar>
</div>
<div ui-view></div>
вошедшего out.html
<div ui-view></div>
Проблема заключается в том, что при переключении между root.homepage
candidate.profile
и, my-navbar
не получает удален, а затем повторно добавляется, что пользователь может кратко см (до нового HTML нагрузок). Я бы понял, если одно из состояний будет иметь макет logged-out.html
, а другой - макет logged-in.html
, но мы говорим о том же файле, и я хочу обновить только ui-view
изнутри файла logged-in.html
.
Возможно, лучше создать абстрактное состояние для зарегистрированных пользователей, в (включая навигационную панель), а затем внутри ввести div для размещения именованного вида 'mainContent'. И сконфигурируйте все свои состояния для расширения состояния входа в систему с определением видов: {'mainContent': {controller: ..., templateUrl: ...}} –
@IlyaDyoshin Я закончил делать что-то подобное, минус определяющие представления , потому что сейчас я им не нужен. Если бы вы были так добры, чтобы ответить на этот вопрос, я бы с радостью согласился с этим. –