Недавно я просмотрел код веб-приложения, созданного с помощью angular, и обнаружил, что он был написан с ng-app="myModule"
директивой, помещенной в <body>
тег. Изучая angular, я видел только его использование в <html>
теге, как рекомендовано в документации по angular здесь , здесь и в их учебнике .
Я немного исследовал это самостоятельно и нашел SO-вопросы, особенно этот и аналогичный этому , которые обсуждают загрузку нескольких модулей для страницы. Однако этот метод отличается от моего случая, поскольку он включает размещение ng-app на элементах внутри тела и использование ручной начальной загрузки для одновременного запуска двух приложений angular.
Насколько я могу судить, во время выполнения нет разницы между приложениями с ng-app
on <html>
или <body>
. Как я понимаю, ng-app
обозначает корень углового приложения, поэтому размещение его на <body>
сократят <head>
из сферы угловых, но я не могу думать о каких - либо серьезных образом это будет влиять на вещи. Итак, мой вопрос: в чем техническая разница между размещением ng-app
одного из этих тегов вместо другого?
Я был в команде, работающей над унаследованным приложением, и счел лучше использовать тег ng-app в div, который используется в качестве оболочки для изоляции нового кода от унаследованного кода.
Мы обнаружили это во время работы над приложением, которое сильно полагалось на jqGrid и Dojo.
Когда мы добавили ng-app к тегу head, он взорвал сайт, но когда мы использовали оболочку, мы могли без проблем использовать Angular.
источник
AngularJS загрузит первое найденное ng-приложение! Вот и все. Если у вас более одного ng-app, оно обработает только первое. Если вы хотите загрузить любой другой элемент, используйте angular.bootstrap ()
Значение атрибута ng-app - это модуль, созданный с использованием:
Модуль определяет, как будет загружаться angular, потому что у нас нет метода main () в отличие от других языков программирования. Если значение ng-app пусто, то по умолчанию используется «ng», модуль по умолчанию.
Было сказано, что это немного быстрее, потому что angular будет обрабатывать все элементы внутри элемента, в котором было ng-app. Но я немного сомневаюсь, что расстанемся, потому что разница будет почти незаметна, если только у вас не очень-очень громоздкий DOM.
Если вам нужны примеры здесь: http://noypi-linux.blogspot.com/2014/07/angularjs-tutorials-understanding.html
источник