J'essaye d'ajouter deux applications / modules angulaires à une page. Dans les violons ci-dessous, vous pouvez voir que toujours seul le premier module, référencé dans le code html, fonctionnera correctement, alors que le second n'est pas reconnu par angular.
Dans ce violon, nous ne pouvons exécuter que la doSearch2
méthode, alors que dans ce violon seule la doSearch
méthode fonctionne correctement.
Je cherche comment placer correctement deux modules angulaires sur une seule page.
la source
ng-app="project"
et indique que "cela vous permet d'avoir des modules qui s'exécutent dans différentes parties de la page" mais le document ngApp indique que "une seule directive peut être utilisée par document HTML".ng-app
(car cela ne fonctionnera pas).ng-app
ne peut être utilisé qu'une seule fois par document HTML. Ce n'est vraiment qu'un raccourci si vous n'avez qu'une seule application sur la page, ce qui est le cas normal.J'ai créé une directive alternative qui n'a pas
ngApp
de limites. Ça s'appellengModule
. Voici à quoi ressemblerait votre code lorsque vous l'utiliserez:Vous pouvez obtenir le code source sur:
http://www.simplygoodcode.com/2014/04/angularjs-getting-around-ngapp-limitations-with-ngmodule/
C'est essentiellement le même code utilisé en interne par AngularJS sans les limitations.
la source
Pourquoi voulez-vous utiliser plusieurs [ng-app]? Étant donné qu'Angular est repris à l'aide de modules, vous pouvez utiliser une application qui utilise plusieurs dépendances.
Javascript:
HTML:
ÉDITER
Gardez à l'esprit que si vous souhaitez utiliser le contrôleur à l'intérieur du contrôleur, vous devez utiliser la syntaxe controllerAs, comme ceci:
la source
Vous pouvez amorcer plusieurs applications angulaires, mais:
1) Vous devez les amorcer manuellement
2) Vous ne devez pas utiliser "document" comme racine, mais le nœud où l'interface angulaire est contenue pour:
Ce serait sûr.
la source
L'amorçage manuel des deux modules fonctionnera. Regarde ça
Voici le lien vers le Plunker http://plnkr.co/edit/1SdZ4QpPfuHtdBjTKJIu?p=preview
REMARQUE: en html, il n'y a pas de fichier
ng-app
.id
a été utilisé à la place.la source
J'ai créé un POC pour une application angulaire en utilisant plusieurs modules et sorties de routeur pour imbriquer des sous-applications dans une application d'une seule page. Vous pouvez obtenir le code source sur: https://github.com/AhmedBahet/ng-sub-apps
J'espère que cela aidera
la source