2013-01-25 15 views
12

obecnie jestem obsługi linki w ten sposób:linki manipulowania z szablonem w angularjs

<a ng-click="goToLink('/foo')">foo</a> 

$scope.goToLink = function(url) { 
    $location.path(url) 
} 

bo jeśli ja

<a ng-href="/foo">foo</a> 

strona jest oczywiście Reaktywacja (a uzyskanie 404), gdyż powinno być coś takiego:

<a ng-href="#/foo">foo</a> 

czy istnieje dyrektywa lub coś zdefiniować linki, które są „tryb html5 agnostyk”, tak że nie mam h ave umieścić hashtag w każdym łączu?

Coś

<a ng-smart-href="/foo">foo</a>. 
+0

jakiejkolwiek aktualizacji w tej sprawie? – ivantedja

Odpowiedz

5

Sprawdź NG-href, to jest dokładnie to, czego szukasz. http://docs.angularjs.org/api/ng.directive:ngHref

Check "linki względne" Przykład z http://docs.angularjs.org/guide/dev_guide.services.$location

+0

Gdy próbuję foo, otrzymuję ponowne załadowanie całej strony. czy robię coś źle? – martinpaulucci

+0

@sammla, czy sprawdziłeś przykład lokalizacji $? – SunnyShah

+0

Tak, i widzę, że działa tam, ale nie wiem, jakiej konfiguracji mi brakuje. Próbowałem dodać base href bez powodzenia. A przykład mówi "Tutaj możesz zobaczyć dwie instancje lokalizacji $, zarówno w trybie HTML5", jak i skrypt, który widzę $ locationProvider.html5Mode (true) .hashPrefix ('!'); (Używam trybu hashbang), ale w tym przykładzie używa on hashbang. To trochę mylące ..: S – martinpaulucci

Powiązane problemy