2016-02-17 3 views
0

Используя угловую 1.5, я разрабатываю некоторые особенности и виды, где я притворяюсь выполнять некоторые навигации, сохраняя URL неприкасаемогоКак перемещаться по представлениям без изменения URL-адреса?

пример:

1) Доступ к URL myapp.com, показывает форму Войти
2) успех Логин (делать вещи, не имеет значение сейчас)
3) просматривать изменения с другим содержанием, но URL остается прежним

Несколько примеров я видел далеко, каждый вид имеет Diferent URLs для выполнения навигации

пример:

Логин: URL: myapp.com/login

+0

Кажется, что это то, что я искал: http://stackoverflow.com/questions/18435967/how-to-hide-url-in-angular – skd

ответ

0

вы не сможете использовать угловые «представления» для этого, потому что те, которые связаны с различными URLs. что вы можете сделать, это реализовать свою собственную «систему просмотра», используя ng-show, ng-if и ng-include.

+0

А как насчет _mask_ url, чтобы сохранить идею, что он остается прежним? – skd

+0

Я не уверен, что вы подразумеваете под этим. может ли URL-адрес в верхней строке браузера меняться, когда вы меняете представления или нет? –

+0

Мне кажется, что это невозможно, http://stackoverflow.com/questions/18435967/how-to-hide-url-in-angular – skd

0

Вы должны использовать состояния для этого, имея «домашний» состояние с URL, то другие государства, но не объявлять URLs:

.state('home', { 
    url: "/home", 
    templateUrl: "foobar.html", 
    controller: function($scope) { 
    // Check your login here; 
    } 
}) 
.state('home.page-two', { 
    url: "", 
    templateUrl: "foobar-two.html", 
    controller: function($scope) { } 
}) 
.state('home.page-three', { 
    url: "", 
    templateUrl: "foobar-three.html", 
    controller: function($scope) { } 
}) 

Тогда для перехода между состояниями, используйте $ state.go(), чтобы загрузить ваше конкретное состояние, как только вы убедитесь, что логин был обработан в соответствии с вашими требованиями.