2016-11-30 4 views
0

Ich habe einen Zustand namens state.home(), die verwendet wird, um zu umleiten einen Benutzer zu Hause pageand dies ist mein Zustand Hinzufügen Anker:zu AngularJS Staat

$stateProvider 
    .state('state.home', { 
     url: '/home', 
     templateUrl: modulePath + '/views/home/home.html', 
     controller: 'state:HomeController', 
     controllerAs: 'homeCtr' 
    }) 

In einer anderen Seite, nachdem er einige Arbeit zu tun, in mein Controller ich brauche den Benutzer zu einem bestimmten Div in der Homepage umgeleitet, so in meinem Controller ich diese Linie für die Umleitung hinzugefügt, aber es scheint nicht der richtige Weg zu sein:

$state.go('state.home',{'#': 'anchor'}); 

ich mag weiß, ob es mit dem gleichen Staat funktionieren könnte oder ich muss einen neuen Staat schaffen.

Antwort

1

Geben Sie den div eine ID, z <div id="anchor"></div>

im Controller zu navigieren, an den vorgesehenen Zustand und Anker Scroll verwenden, um das div zu gehen. Vergessen Sie nicht, $anchorScroll

$state.go('state.home').then(function() {$anchorScroll('anchor');})

+0

Hallo, vielen Dank für Ihre Hilfe zu injizieren, aber es doesnt Arbeit gut für me.Finally ich eine Lösung für das Problem gefunden: $ state.go ('state.home ') .dann (function() { $ location.hash (' anchor '); $ anchorScroll(); }); –

+0

Sie sollten '$ location.hash (hash)' nicht verwenden müssen. '$ anchorScroll (hash)' sollte es tun – Ladmerc

Verwandte Themen