Задать вопрос
comm1x
@comm1x
Web-developer

Как отлючить перерисовку views в AngularJS?

Ionic Framework, UI Router ($stateProvider), Nested Views

В мобильном приложении когда нажимаю кнопочку '< Back' в header-е, предыдущая view в стеке (на которую мы должны сейчас вернуться) появляется не в том, состоянии с которого мы с нее ушли, а в новом. По сути там заново происходит вся инициализация и прочие ненужные вещи.

Вопрос: как отключить этот rerendring и сохранять состояние view и возвращаться в это состояние.

Немного кода для наглядности:

// Method app.config()
$stateProvider
			.state('main', {
				url: '',
				views: {
					'@' : {
						templateUrl: 'layout/main.html'
					},
					'topbar@main' : {
						templateUrl: 'component/topbar/topbar.html'
					},
					'content@main' : {
						templateUrl: 'component/pager/pager.html'
					}
				}
			})
			.state('settings', {
				templateUrl: 'component/settings/settings.html'
			})
		;


Переход в settings:
$state.go('settings');

UPD: stackoverflow.com/questions/28217870/angular-ui-ro...
  • Вопрос задан
  • 2440 просмотров
Подписаться 1 Оценить Комментировать
Ответ пользователя Dmitry Dedukhin К ответам на вопрос (2)
@Demetros
Если речь идет про запросы к api, то их можно вынести в resolve стэйта, который сделать родительским для всех стэйтов - тогда resolve не будет выполняться каждый раз при переходах между дочерними стэйтами.
Ответ написан
Комментировать