Platzierung der ng-app-Direktive (html vs. body)
Ich vor kurzem überprüft den code für eine webapp gebaut, mit Winkel-und festgestellt, dass es wurde geschrieben, mit der ng-app="myModule"
Richtlinie gelegt auf die <body>
tag. Beim lernen von Winkel -, ich habe immer nur gesehen, wie er verwendet auf der <html>
tag, wie empfohlen von der Winkel-docs hierhierund in Ihren tutorial.
Habe ich erforscht dies ein bisschen auf meine eigene und finden SO Fragen, insbesondere diese eine und ähnlich diese einezu diskutieren laden mehrere Module für eine Seite. Jedoch, diese Technik unterscheidet sich von meinem Fall, denn es geht darum, ng-app auf Elemente innerhalb dem Körper und mit der manuellen bootstrapping, um zwei Winkel-apps zur gleichen Zeit.
Soweit ich das beurteilen kann, gibt es keinen Unterschied in der Laufzeit zwischen einer app mit ng-app
auf <html>
oder <body>
. Wie ich es verstehe, ng-app
bezeichnet die Wurzel einer eckigen Anwendung, sodass die Platzierung auf der <body>
abschneiden würde <head>
aus Winkel-Bereich, aber ich kann mir nicht vorstellen, dass es eine große Weise würde dies Einfluss auf die Dinge. Also meine Frage ist: Was sind die technischen Unterschied zwischen der Platzierung ng-app
auf eines dieser tags, statt die anderen?
InformationsquelleAutor der Frage MattDavis | 2013-04-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es keinen großen Unterschied, wo Sie
ng-app
.Wenn du es auf
<body>
dann haben Sie einen kleineren Umfang für AngularJS, die leicht schneller.Aber ich habe verwendet
ng-app
auf die<html>
für die Manipulation des<title>
.InformationsquelleAutor der Antwort Haralan Dobrev
War ich in einem team arbeiten, auf eine legacy-app und fand es am besten, um die ng-app-tag in einem div als wrapper zu isolieren, neuen code aus legacy-code.
Entdeckten wir diese während der Arbeit an der app, dass war schwer sich auf jqGrid und Dojo.
Wenn wir Hinzugefügt ng-app auf dem head-tag verwandelte sich die Website, aber wenn wir eine wrapper-wir konnten Eckig mit keine Probleme.
InformationsquelleAutor der Antwort Peter Drinnan
AngularJS wird das bootstrap der ersten ng-app findet es! Das ist es. Wenn Sie mehr als eine ng-app, es wird nur die erste. Wenn Sie möchten, zum bootstrap-jedes andere element benutzen eckig.bootstrap()
Den Wert der ng-app Attribut ist ein Modul, die erstellt wurden mit:
Einem Modul definiert, wie eckige, werden bootstrapped, weil wir nicht über eine main () - Methode im Gegensatz zu anderen Programmiersprachen. Wenn ng-app ist der Wert leer ist, wird Sie standardmäßig zu verwenden, 'ng', das Standard-Modul.
Wurde es etwas schneller, weil eckig verarbeitet alle der Elemente in dem element, wo ng-app war. Aber ich Zweifel etwas, da die Differenz kaum wahrnehmbar sein, es sei den Sie haben ein sehr, sehr sperrig DOM.
Wenn Sie möchten, Beispiele hier: http://noypi-linux.blogspot.com/2014/07/angularjs-tutorials-understanding.html
InformationsquelleAutor der Antwort Noypi Gilas