2013-01-25 9 views
12

zur Zeit ist ich den Umgang mit diesem Weg Links:Handhabung Links von Vorlage in AngularJS

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

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

denn wenn ich

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

die Seite natürlich neu geladen wird (und 404 bekommen), weil es sollte wie etwas sein:

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

gibt es eine Richtlinie oder Links, etwas zu definieren, die ‚html5-Modus Agnostiker‘ sind, so dass ich nicht tun h Hast du den Hashtag in jeden Link gesetzt?

So etwas wie

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

jedes Update dazu? – ivantedja

Antwort

5

prüfen ng-href, ist es genau das, was Sie suchen. http://docs.angularjs.org/api/ng.directive:ngHref

Check "Relative Links" Beispiel von http://docs.angularjs.org/guide/dev_guide.services.$location

+0

Wenn ich versuche foo bekomme ich eine volle Seite neu zu laden. Mache ich etwas falsch? – martinpaulucci

+0

@sammla, Haben Sie das Beispiel von $ location überprüft? – SunnyShah

+0

Ja, und ich sehe es funktioniert, aber ich kann nicht herausfinden, welche Konfiguration ich vermisse. Ich habe versucht, eine Basis href ohne Glück hinzuzufügen. Und das Beispiel sagt "Hier können Sie zwei $ location-Instanzen sehen, beide im Html5-Modus" und im Skript sehe ich $ locationProvider.html5Mode (true) .hashPrefix ('!'); (Ich benutze den Hashbang-Modus), aber im Beispiel wird Hashbang verwendet. Es ist irgendwie verwirrend ..: S – martinpaulucci

Verwandte Themen