2014-11-09 16 views
9

Próbuję użyć funkcji $ locationProvider.html5mode(), aby usunąć "#" w adresach URL, ale z jakiegoś powodu zawsze powoduje błąd, że tryb 5tml jest niezdefiniowany. Próbowałem zalogować $ locationProvider w konsoli, aby sprawdzić jego właściwości i html5mode jest obecny, ale kiedy próbuję go wywołać, generuje błąd, który jest niezdefiniowany. Czy ktokolwiek to wcześniej przeżył i nie miałby nic przeciwko temu, by rzucić trochę światła na to, czego mi brakuje. Z góry dziękuję.

var app = angular.module('app', ['appControllers', 'ngRoute']); 

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

    $locationProvider.html5mode(true);   

    $routeProvider 
     .when('/', { 
      templateUrl: 'partials/home.html', 
      controller: 'PageController' 
     }) 
     .when('/app', { 
      templateUrl: 'partials/app.html', 
      controller: 'PageController' 
     }); 

}]); 

Odpowiedz

23

Wprowadziłeś niepoprawną nazwę metody. Zmień

$locationProvider.html5mode(true);   

do

$locationProvider.html5Mode(true);   

z M wielkie litery w słowie mode.

+0

Wow! Dziękuję bardzo! Wiedziałem, że to było coś trywialnego, ale ważnego, czego mi brakowało. Frustracja czasami przesłania moje myśli. LOL. Jeszcze raz dziękuję! –

+3

Nie, problem, czasami potrzebujemy tylko świeżego oka! – dfsq