Я экспериментировал с UI-ROUTER в течение довольно долгого времени, когда обнаружил, что мне удалось перенаправить на нужную страницу, если я вручную вставил конечную точку (url) в адресную строку.
См. Пример здесь: UI ROUTER BASIC DEMO
Здесь, в приведенном выше примере, есть два элемента в строке меню, т.е. " Contacts
и " About
. При щелчке по каждому элементу состояние изменяется, а также URL-адрес в адресной строке.
Что делать, если я заранее знал URL-адрес и вручную добавил эту конечную точку URL-адреса в адресной строке, он будет перенаправлен, как и ожидалось. Я хотел бы отключить эту функцию. Кто-нибудь сталкивался с подобной проблемой. Попробуйте поделиться подобным опытом.
Вы можете использовать скрытый (squash) параметр url:
.state("myRoute", {
url: "/myRoute",
templateUrl: "...",
controller: "...",
params: {
token: {value: undefined, squash: true}
},
})
Пользователь никогда не видел токен, но вы можете создать его для каждого загрузочного буфера и использовать его для проверки каждого изменения состояния.