2016-09-12 3 views
0

У меня есть $routeProvider в моем угловом приложении для разных путей, вот как это выглядит:

$routeProvider 
    .when('/', { 
    templateUrl: 'views/main.html', 
    title: 'Main', 
    }) 
    .when('/howItWorks', { 
     templateUrl: 'views/hiw.html', 
     controller: 'HiwCtrl', 
     controllerAs: 'hiw', 
     title: 'How it works' 
    }) 
    ... 

В этом случае, когда я иду в /#howItWorks, он загрузит HiwCtrl и его вид.

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

+1

Ваш проект, основанный только на угловой? – LkPark

+0

Да, он начинается с сервера соединения «connect», с grunt – Pablo

+1

На данный момент я не нашел простой реализации, используя только что предоставленный материал по угловым, проблема в том, что ваш хэш будет удален методом углового анализа, поэтому мы нужно изменить это, но на данный момент я не уверен, что это возможно, не затрагивая углового поставщика. только я теперь после события $ locationChangeStart будет вызываться разбор маршрута. Я буду искать больше и будет воспроизводить, если найдет что-то – LkPark

ответ

5

Если у вас возникли вопросы, просто прочитайте больше о html5Mode в официальной документации на угловую систему.

app.config(['$locationProvider',function($locationProvider) { 

     $locationProvider.html5Mode({ 
      enabled: true, 
      requireBase: false 
     }); 

}); 
+0

, но не изменит ли это для всех URL-адресов? Мне нужен только один URL-адрес, который нужно проанализировать следующим образом: – Pablo

+1

Если вам нужно, чтобы определенные URL-адреса просто добавляли хэш к началу, когда так: .when ('/ # howItWorks' –

1

использование этого

app.config([ '$locationProvider', '$routeProvider', 
    function ($locationProvider, $routeProvider) { 
    $locationProvider.html5Mode({ 
    enabled: true, 
    requireBase: false 
}).hashPrefix('!'); 

$routeProvider 
.when('/home', { // For Home Page 
    templateUrl: 'Home.html', 
    controller: 'HomeController' 
    })  
.otherwise({ // This is when any route not matched => error 
    controller: 'ErrorController' 
}) 
}]); 
Смежные вопросы