Ich möchte, dass auf jeder Seite meiner Angular-App außer der Startseite ein ← Zurück nach Hause -Link unterhalb der Navigation erscheint. Also möchte ich den Link bedingt hinzufügen und ihn mit ng-hide
ausblenden, wenn die URL bereits auf der Homepage (Ansicht) der App ist.
Ich habe versucht, angular's $location
-Dienst ohne Erfolg zu verwenden
Ich habe die folgenden Varianten ausprobiert:
%Vor% Ich bin verwirrt, denn wenn ich den Wert von location.hash == '#/'
auf der Homepage protokolliere, bekomme ich true
, also sollte ng-hide
funktionieren.
Im Grunde versuche ich den dritten Ansatz, der hier aufgelistet ist: Wie verwende ich angular ng-hide basierend auf der Seite / Route, auf der ich mich gerade befinde? Aber es funktioniert nicht. Die anderen beiden Ansätze auf dieser Seite scheinen zu kompliziert für das zu sein, was ich erreichen möchte.
Was vermisse ich?
Als Erstes, wenn Sie location.hash oder location.url verwenden, verwenden Sie das JavaScript-Objekt window.location. Sie sollten den von angular bereitgestellten Dienst $ location verwenden. Also in Ihrem Controller würde ich erstellen:
%Vor%Und in Ihrem html:
%Vor%Tho würde ich vorsichtig sein über die "# /" und "/", ich benutze nur den HTML5-Modus, so dass ich nicht sicher bin, was der $ location.path zurückgibt, aber Sie können es einfach mit einer console.log überprüfen ($ location.path ()) tho Ich denke, es wird nur "/" zurückgeben, denn das ist der Pfad für eckig, es sollte sich nicht um das # kümmern.