Le Placement de la ng-app directive (html vs corps)
J'ai récemment revu le code pour une webapp construit angulaire et a constaté qu'il a été écrit avec la ng-app="myModule"
directive placé sur le <body>
tag. Lors de l'apprentissage angulaire, je ne l'ai jamais vu utilisé sur la <html>
tag, comme recommandé par l'angle de docs ici, ici, et dans leur tutoriel.
J'ai exploré un peu sur mon propre et a trouvé TELLEMENT de questions, notamment cette une et de même cette une, que de discuter le chargement de plusieurs modules pour une page. Cependant, cette technique différente de mon cas, car il consiste à placer ng-app sur les éléments dans le corps et l'utilisation manuelle d'amorçage pour exécuter deux angulaire applications en même temps.
Aussi loin que je peux dire, il n'y a pas de différence lors de l'exécution entre une application avec ng-app
sur <html>
ou <body>
. Comme je le comprends, ng-app
désigne la racine de l'angulaire de l'application, de sorte que le placement de la <body>
permettrait de réduire l' <head>
de angulaire du champ d'application, mais je ne peux pas penser de tout façon cela aurait un impact sur les choses. Donc ma question est: Quelle est la différence technique entre la mise en place ng-app
sur l'une de ces étiquettes à la place de l'autre?
Vous devez vous connecter pour publier un commentaire.
Il n'y a pas de grande différence lorsque vous mettez
ng-app
.Si vous le mettez sur
<body>
alors vous avez un petit portée par AngularJS qui est légèrement plus rapide.Mais j'ai utilisé
ng-app
sur le<html>
pour la manipulation de la<title>
.J'ai été sur une équipe travaillant sur une application héritée et trouvé qu'il est préférable d'utiliser le ng-app tag dans une div qui est utilisé comme un wrapper pour isoler nouveau code à partir de l'ancien code.
Nous avons découvert cela tout en travaillant sur l'application qui a été fortement en s'appuyant sur jqGrid et Dojo.
Lorsque nous avons ajouté ng-app pour la balise head, il a fait exploser le site, mais lorsque nous avons utilisé un wrapper nous pourrions utiliser Angulaire sans problèmes.
AngularJS aura pour effet de démarrer la première ng-app il trouve! C'est tout. Si vous avez plus d'un ng-app, il ne traite que la première. Si vous voulez amorcer n'importe quel autre élément angulaire.bootstrap()
La valeur de la ng-app attribut est un module qui ont été créés à l'aide de:
Un module définit comment angulaire sera démarré parce que nous n'avons pas de méthode main() contrairement à d'autres langages de programmation. Si ng-app de la valeur est vide, la valeur par défaut est d'utiliser "ng", le module par défaut.
Il a été dit d'être un peu plus rapide car angulaire traitera tous les éléments à l'intérieur de l'élément où ng-app a été. Mais je doute légèrement en partie parce que la différence est à peine perceptible, à moins que vous avez une très très encombrant DOM.
Si vous souhaitez des exemples ici: http://noypi-linux.blogspot.com/2014/07/angularjs-tutorials-understanding.html