0

Я создаю веб-приложение, подобное gdrive или dropbox, когда я перемещаюсь по своим папкам по ссылкам, мне нужно получить путь в URL-адресе. Мне нужно изменить путь с самой стороны клиента, используя angularJS.Как создать маршрутную карту с angularjs ngRoute

например

$stateProvider 
     .state('/root', 
        { 
        url: "/root", 
        templateUrl: "cloud.html" 
        }) 
     .state('root.___', 
        { 
         url: "/root/:path", 
         templateUrl: "cloud.html" 
        }) 
     .otherwise({ redirectTo: "/root" }); 
     }); 

Контроллер и шаблон не должен быть изменен, только URL нужно изменить, выглядеть следующим образом

http://mycloud.com/newfolder/newfolder or http://mycloud.com/newfolder/.../.../../folder 

Как добиться этого в угловом JS UI-маршрутизатор, что необходимо заполнить пробел?

+0

Возможный дубликат [AngularJS- Вход и аутентификация в каждом маршруте и контроллере] (http://stackoverflow.com/questions/20969835/angularjs-login-and-authentication-in-each-route-and-controller) –

ответ

0

___ может быть заменен на «путь» или любое другое состояние по вашему выбору.

$stateProvider .state('/root', { url: "/root", templateUrl: "cloud.html" }) .state('root.path', { url: "/root/:path", templateUrl: "cloud.html" }) .otherwise({ redirectTo: "/root" }); });

Поскольку у вас уже есть параметров :path в свой адрес, он будет заботиться о ваших URL. При использовании ui-sref просто передайте параметр path вместе с ним.

Как <a ui-sref="root.path({path:your-path-here})">Path</a>

Вы должны помнить, что государства следуют иерархии. Обратитесь к странице angular-ui's state.

+0

шаблон cloud.html не перезагружается. приложение требует, чтобы cloud.html перезагружался каждый раз при посещении нового url – praveenraj

+0

Зачем вам нужно перезагружать html-файл? –

+0

Да, ui-view необходимо перезагрузить, поскольку он изменяется. как http: // myweb/abc отличается от http: // myweb/abc/abc/abc – praveenraj