У меня есть несколько состояний в моем приложении, которые я определяю с помощью $ stateProvider следующим образом:
.state(STATES.s1,
{
url: "/?refnr"
template: ...
})
.state(STATES.s2,
{
url: "/?details&searchID&pos"
template: ...
})
Теперь я хочу иметь третье состояние, где я хочу перехватить все URL содержит определенный параметр URL, который включает восклицательный знак . Это параметр 'emp!' , который выглядит следующим образом в URL со значением "... /? Emp! = 45". Я определил это как мое состояние:
.state(STATES.s3,
{
url: "/?emp!"
template: ...
})
Не работает. Это не соответствует URL. Я также попытался использовать $ urlMatcherFactoryProvider и предоставить скомпилированное сопоставление в качестве URL, но тот же результат. Я также пытался использовать закодированную версию! в моем определении url-состояния вот так:
url: "/?emp%21"
все тот же результат.
Почему это так? Как я могу сопоставить эти URL-адреса?