2013-01-11 1 views
0

Je veux que ma webapp se comporte exactement comme les autres applications iPhone utilisant un UINavigationController.Navigation similaire à UINavigationController dans AngularJS webapp

Je souhaite commencer par deux vues: la vue racine et une barre de navigation. Lorsqu'une nouvelle vue doit être affichée, elle sera placée au-dessus de la vue actuelle, en masquant simplement la ou les vues précédentes.

La barre de navigation doit afficher le titre de la vue actuelle, ainsi qu'un bouton de retour (à moins que la vue racine).

+0

Et ce que cela a à voir avec AngularJS? – asgoth

+0

@asgoth Je l'utilise pour construire mon application, et je veux l'utiliser pour cela. –

+0

Mais voulez-vous dire que vous voulez interagir entre votre webapp angularjs et votre composant natif UINavigationController? Vous n'avez pas vraiment dit quel est votre problème. – asgoth

Répondre

1

Je vous suggère de regarder ng-view. Il vous permet de basculer facilement entre les vues. Regardez également le service $location. Il prend en charge les boutons avant/arrière du navigateur. Si vous voulez plus de contrôle ou si vous ne voulez pas que la barre d'adresse du navigateur change lorsque vous changez de vue, vous pouvez raccorder manuellement les éléments ng-show et/ou ng-hide pour afficher/masquer les sections du DOM. Utilisez les propriétés model/$ scope pour garder trace de la vue actuelle et des vues précédentes. Voici un fiddle montrant comment commencer. Par exemple, la barre de navigation pourrait ressembler à ceci:

<button ng-hide="view == 'root'" ng-click="goBack()">< {{previousView}}</button> 

Et changer de vue:

<div ng-show="view == 'view1'">View 1 
    <div><a ng-click="changeView('view1.1')">view 1.1</a> 
    </div> 
</div> 
+0

Sympa, je vais bidouiller avec ça! Je vous remercie. –

Questions connexes