2017-01-04 5 views
0

Я использую ui-router 1.0b3 с угловым 1.5.x. Также используется html5Mode (true). Хэши не используются для путей, они предназначены только для конкретной страницы, к которой она идет.Как очистить хэш-страницу ui-router на смену страницы?

Я хочу, чтобы иметь возможность перейти на имя http://example.com/app/page#tab3 маршруту: app.page

Затем перейдите на другую страницу, скажем, название маршрута: app.another, он заберет меня на странице, но # остается. Я не хочу, чтобы # государство следовали за навигацией. Обеим страницам нужен один и тот же родитель. Если я перехожу к другому, то не следует переходить к «http://example.com/app/another#tab3», что и есть.

Он не делал это на Ui-маршрутизатор 0.3.1

Я попытался удалить хэш во время перехода: $ transitions.onBefore ({выход: 'приложение **'}, функция (транс) { trans.params ("to") ["#"] = null; $ location.hash (""); });

но это совсем не работает.

Помощь? Я думаю, что это может быть ошибкой, но я не могу понять, исправить.

https://github.com/angular-ui/ui-router/issues/3245

+1

Пожалуйста, попробуйте с 'угловой Ui-router'' 1.0.0-RC .1 –

+0

Это действительно было зафиксировано в rc.1 – phazei

ответ

0

У меня такая же проблема. Я нашел решение проблемы разработчиков ui-router.

Вы можете очистить хэш, очистив параметр (параметр с именем «#»).

В шаблонах:

<a ui-sref="app.tasks({'#': null})">text</a> 

В коде JavaScript:

$state.go('app.tasks', {'#': null}); 

P.S. Я использую углового UI-маршрутизатор, версия 1.0.0-beta.3

Более подробная информация здесь: https://github.com/angular-ui/ui-router/issues/3017

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