2016-01-07 3 views
0

Я хочу реализовать основанный на AngularJS бэкэнд на моем сайте.Как сохранить базовый href в местоположении?

Say бэкенд расположен в /admin и я установил мой <base href="/admin"> и я могу установить маршрутизацию вверх, как следующий

angular 
    .module('myApp', ['ngRoute']); 
    .controller('MainController', function ($scope) {}) 
    .controller('DashboardController', function ($scope) {}); 
    .config(['$routeProvider', '$locationProvider', 
     function ($routeProvider, $locationProvider) { 
      $routeProvider 
       .when('/dashboard', { 
        templateUrl: '/admin/static/app/dashboard/dashboard.html', 
        controller: 'DashboardController' 
       }); 
      $locationProvider.html5Mode(true); 
     }]); 

и моя навигация выглядит

<ul id="navigation"> 
    <li><a href="/">Home</a></li> 
    <li><a href="/dashboard">Dashboard</a></li> 
</div> 

Теперь я на /admin/ и нажмите на Dashboard, он установит мое окно на /dashboard вместо /admin/dashboard - вот что я подразумеваю под этим: base href.

Есть ли способ сохранить base href?

+0

Что такое '...' в относительном URL-адресе? – toddmo

+0

@toddmo действительно 'templateUrl' действительно имеет значение для вопроса tho? Обновлен вопрос – Brettetete

+0

Нет, это не так, но я был, крутой, новый синтаксис, что он делает? lol – toddmo

ответ

0

вы должны попытаться сделать это

<a href="#/dashboard">Dashboard</a> 

# делает относительными и реестровые маршруты поддерживают это из коробки. , кстати, обычно вы не используете href's в angularjs. вы скорее ставите элемент ng-click и используете службу определения местоположения $ с $ location.path ('dashboard')

+0

Но я не хочу использовать хеши, поэтому я установил режим HTML5 с '$ locationProvider.html5Mode (true);'? – Brettetete

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

  • Нет связанных вопросов^_^