AngularJS: bon endroit pour le menu global, fournisseur de services ou rootScope?
Je suis nouveau sur AngularJS, et depuis il est assez complexe, et l'approche est nouvelle pour moi, je suis un peu confus.
Je suis "classique" d'arrière-plan (côté serveur un modèle pour les langues [comme Yii, django, Smarty] + quelques jQuery pour rendre les choses un peu dynamique).
Disons que j'ai une barre de menu (Bootstrap barre de navigation, ou quoi que ce soit d'autre) - un élément qui vit à l'extérieur de la page principale contenu, comme ceci:
<body>
<div id="menubar">
... <!-- menu content -->
</div>
<div class="container">
<div ng-view></div>
</div>
</body>
Maintenant, j'aimerais faire le menu un peu dynamique, j'.e ajouter ou de supprimer certains éléments de menu à l'intérieur du contrôleur.
En utilisant le côté serveur cadres & leurs systèmes de template, par exemple Yii - je serais tout simplement avoir un BaseController
classe avec $menuItems
variable et l'afficher à chaque fois dans le menuBar
, alors que tous les contrôleurs hériter de BaseController
de sorte qu'ils pourraient modifier les éléments.
Aussi, j'ai besoin d'une fonction qui gère le searchForm
situé à l'intérieur de la barre de menu. Où faut-il vivre?
Ce qui est Angulaire voie pour quelque chose comme ça? Jusqu'à présent, j'ai été la pensée de la création d'un custom service
ou à l'extension de $rootScope
.
merci, je ne savait pas ce. Je n'étais pas au courant que je peux utiliser ng-controller avec ng-vue 🙂 en la Combinant avec certains services partagés devrait faire un truc. Rendre une réponse au lieu de commentaire et je vais le marquer comme réponse.
double possible de la communication globale, angulaire du module: l'événement de bus ou de médiateur motif/service
OriginalL'auteur migajek | 2013-06-03
Vous devez vous connecter pour publier un commentaire.
Mise à JOUR: je vous encourage à jeter un oeil à John Papa ng-demoes et style-guide que dire de la deuxième étape dans l'adoption de angular.js.
Découvrez des exemples angular.js l'équipe posté récemment, pour montrer la pleine application.
github.com/IgorMinar/foodme
github.com/GoogleChrome/wReader-app
github.com/CaryLandholt/AngularFun
Prêter attention aux caractéristiques suivantes angulaire vous donne
ngView, ngInclude directives
templateUrl propriété de la directive
'=', '&','@' étendue des liaisons dans les directives
Je pense qu'il va être une bonne approche pour avoir de combinaison d'un service et d'une directive pour le rendu du menu de la façon dont vous l'avez décrit.
OriginalL'auteur vittore