2014-10-29 2 views
1

Вот два простых приложений с использованием UI-маршрутизатор в угловом 1.2 и 1.3:Угловая 1,2 до 1,3 - Link поколения

1,2 - http://jsbin.com/niyehagixa/1/edit?html,output

1,3 - http://jsbin.com/vaceqizanu/1/edit?html,output

Если вы проверяете ссылку на " Состояние a "в первом, оно выглядит как: href="#/a"; однако в угловой версии 1.3 он теперь устанавливается как href="/a", отсутствует #.

Может ли кто-нибудь объяснить, почему это так? В моем существующем приложении (попытка обновления до 1.3) большинство ссылок без # по-прежнему правильно маршрутизируются; однако некоторые пытаются перейти на сервер, который вернет 404 (это также будет верно, если пользователь попытается скопировать ссылку или открыть ее в новой вкладке/окне).

Я бы предпочел не добавлять какие-либо сложности на стороне сервера, поддерживая, какие URL-адреса должны отправляться в SPA: есть ли способ сохранить # в ссылках в 1.3?

ответ

3

Вам необходимо обновить пользовательский интерфейс-маршрутизатор: https://github.com/angular-ui/ui-router/issues/1483

+0

Похоже v0.2.12 все еще работал над; Я отдержусь, пока это не будет готово. Благодаря! – John

+0

0.2.12-pre1 был отмечен тем временем для поддержки углового 1.3 –

+0

Если я не использую 'ui-router' и испытываю ту же проблему, мне это нужно? У меня есть 'angular.js',' angular-resource.js' и 'angular-route.js' в моем проекте (наряду с некоторыми другими пакетами js, такими как' bootstrap' и 'ui-bootstrap-tpls'). Когда я перешел от 1.2 до 1.3, все мои глубокие ссылки сломались и проваливаются в оператор '$ routeProvider.otherwise'. Я не знаю, с чего начать смотреть. – aspergillusOryzae

Смежные вопросы