/ / Mantieni lo stato di selezione principale nell'interfaccia utente quando si fa clic su un elemento figlio - angularjs, angular-ui-router

Mantieni lo stato di selezione padre nell'interfaccia utente quando viene fatto clic su un elemento figlio - angularjs, angular-ui-router

Quando guardi l'esempio del router angijs ui:

http://angular-ui.github.io/ui-router/sample/#/contacts/1/item/b

L'elemento "fax" di Bobs è stato cliccato da me, ma il nome Bobs sul lato sinistro ha perso la selezione del quadrato blu.

Come posso riparare quella selezione blu persa?

inserisci la descrizione dell'immagine qui

risposte:

1 per risposta № 1

Il team di angular-ui-router sta lavorando a una soluzione per questo (in realtà penso che sia fatto, ma non ancora rilasciato).

Fino ad allora, il modo migliore e più semplice è esporre $state sul $scope della tua barra di navigazione. Quindi cerchi una corrispondenza del nome $ state e applichi la classe selezionata.

Stati:

$stateProvider.state("parentState", {});

$stateProvider.state("parentState.childState", {});

Scopo:

app.controller("navCtrl", function ($scope, $state) {
$scope.$state = $state;
});

Vista:

<li ng-class="{ "activeClass": $state.includes("parentState") }">

Spero che funzioni per te.

Ecco un thread sul suggerito ui-sref-active direttiva:

https://github.com/angular-ui/ui-router/pull/927#issuecomment-49348331