2016-04-19 2 views
3

Я новичок в angularJS. Теперь я пытаюсь написать простое угловое приложение. Но я задаюсь вопросом о роли директивы ng-app.Какова роль директивы ng-app?

<html ng-app> 

А можно добавить ng-app в div тег вместо тега html? Если возможно, существуют ли различия между <html ng-app> и <div ng-app>, например, эффективность работы?

+2

https://docs.angularjs.org/api/ng/directive/ngApp Я думаю, что вопрос бесполезен ... следует отменить – thegio

+0

Возможный дубликат [Размещение директивы ng-app (html vs body)] (http://stackoverflow.com/questions/15790432/placement-of-the-ng-app-directive-html-vs-body) – thegio

ответ

4

Директива ng-app обозначает корневой элемент приложения и обычно располагается рядом с корневым элементом страницы - например, на тегах <body> или <html>. У вас может быть только одна директива ng-app в вашем документе HTML. Она также используется для загрузки различных модулей AngularJS в приложении AngularJS. Рамки AngularJS будет обрабатывать только элементы DOM и его дочерние элементы, где ng-app применяется директива

Использование

<div ng-app="" ng-controller="myCtrl"> 
</div> 

ИЛИ

<div ng-app="myApp" ng-controller="myCtrl"> 
</div> 

var app = angular.module('myApp', []); 
0

Атрибут ng-app представляет собой угловую директиву под названием ngApp (Angular использует spinal-case для своих пользовательских атрибутов и camelCase для соответствующих директив, которые реализуют их). Эта директива используется для обозначения элемента html, который Angular должен считать корневым элементом нашего приложения. Это дает разработчикам приложений возможность рассказать об Угловом, если всю страницу html или только ее часть следует рассматривать как угловое приложение.

Таким образом, вы можете добавить ng-app в тег div.

1

директива ng-app для самонастройки приложения.

Элемент с ng-app является корневым элементом : он обертывает другие директивы вашего приложения.

<div ng-app="myApp"> 
    <div controller="ctrl"></div> <!-- working --> 
</div> 
<div controller="myOtherCtrl"></div> <!-- not working --> 

По the documentation:

Директива Использование

как атрибут:

<ANY ng-app="angular.Module" [ng-strict-di="boolean"]> ... </ANY>

Таким образом, вы можете добавить ng-app на div или любом другом элементе.

Смежные вопросы