Я бы хотел синхронизировать URL страницы с внутренним состоянием страницы angular 1, использующей ui-router 1.0.24.
При изменении фильтра страницы данные страницы перезагружаются , затем вызывается $ state.transitionTo () для синхронизации URL с новым фильтром:
$state.transitionTo($state.current.name, self.getPageParams(), { /*location: 'replace',*/ reload: false, inherit: false, notify: false, custom: {urlChangedAfterReload: true} });
Состояние страницы определяется как:
$stateProvider
.state('page', {
url: '/Page/:dateParam/:modeParam',
params: {
dateParam: {value: null, dynamic: false},
modeParam: {value: 'READ', dynamic: false}
},
...
})
Я попытался пометить параметры как Dynami c (с Dynami c: true ): эти параметры позволяют избежать перезагрузки контроллера, но в то же время не позволяют изменить URL-адрес вручную и не позволяет использовать историю (параметры являются Dynami c, поэтому UI-маршрутизатор игнорирует их изменение).
Можно включить параметры Dynami c только при программном изменении URL , оставив его отключенным, когда пользователь изменяет URL-адрес вручную, по истории или по ссылке?