Почему ng-app можно поставить в любой тег?

Я новичок в AngularJS. Я хотел бы знать, в чем разница, если я размещу ng-app в любом <html> тег или <body> или же <div>, Точно такое же сомнение для ng-controller,

2 ответа

Расположение тега ng-controller определяет видимость и использование области

<div ng-controller="outerController" id="outerController">
    //outerController $scope is available here
    //innerController $scope is **not** available here

    <div ng-controller="innerController" id="innerController">
        //outerController $scope is available here
        //myControllers $scope is available here
    </div>
</div>

Вложенные контроллеры будут искать элементы в ближайшей ограниченной области, прежде чем подниматься по цепочке.

Например представьте $scope.outerVar установлен на externalController

Если innerController пытается получить доступ $scope.outerVar Затем выполняется проверка, чтобы определить, установлено ли это свойство на innerController первым. Только если он не установлен, он пойдет по цепочке к externalController, чтобы получить его оттуда.

Где бы вы ни разместили ng-app, элементы внутри него могут получить доступ только к модулю, а ng-контроллер может использоваться только тогда, когда вы использовали ng-app в каком-то верхнем элементе...

Контроллеры доступны только в том случае, если модуль инициализирован, что делается с помощью оператора ng-app.

помните, что mmodule должен быть инициализирован только один раз и для элемента, под которым вы хотите, чтобы все функции угловых контроллеров для ваших различных элементов

Другие вопросы по тегам