соблюдайте приведенные ниже фрагменты кода.
<div ng-app = "">
<input type="text" autofocus="autofocus" placeholder="Enter your name"
ng-model="name"><br>
Hai {{name}}!
</div>
<div ng-app = "mainApp">
<input type="text" autofocus="autofocus" placeholder="Enter your name"
ng-model="name"><br>
Hai {{name}}!
</div>
Я получаю желаемый результат в случае 1, где, как и в случае 2, я получаю вывод как Hai {{name}}!
скажите мне разницу между этими двумя случаями и как называть модуль ng-app влияет на выход.
Прежде всего, постарайтесь понять концепцию ng-app.
Используйте эту директиву для автоматической загрузки приложения AngularJS. Директива ngApp обозначает корневой элемент приложения и обычно располагается рядом с корневым элементом страницы - например, в теге или тегах.
- ng-app означает: эта страница имеет Угловое!
- ng-app = "module" означает: эта страница имеет Угловое значение, и в этом модуле определены необходимые элементы управления/службы/etc.
- ng-app определяет основной или загрузочный модуль вашего приложения, который должен выполнять задачу инициализации вашего приложения.
Как и в java, у вас есть много методов и классов, но вы определяете один основной метод как отправную точку. Точно так же, в угловом режиме у вас много модулей, вы определяете один модуль как отправную точку приложения.
Случай 1: Это определит функцию контроллера в глобальной области.
Хотя Angular позволяет создавать функции контроллера в глобальной области, это не рекомендуется. В реальном приложении вы должны использовать метод.controller вашего углового модуля для вашего приложения
HTML
<div ng-app="" ng-controller="GreetingController">
<input type="text" autofocus="autofocus" placeholder="Enter your name"
ng-model="name"><br>
Hai {{name}}!
</div>
угловатый
function GreetingController($scope) {
$scope.name = "Hello";
}
Случай 2: Это определит область модуля
Вы можете указать модуль AngularJS, который будет использоваться в качестве корневого модуля для приложения. Этот модуль будет загружен в инжектор $, когда приложение загрузится.
HTML
<div ng-app="myApp" ng-controller="GreetingController">
<input type="text" autofocus="autofocus" placeholder="Enter your name"
ng-model="name"><br>
Hai {{name}}!
</div>
угловатый
var myApp = angular.module('myApp',[]);
myApp.controller('GreetingController', ['$scope', function($scope) {
$scope.name = 'Hola!';
}]);
Официальная документация ng-app
ng-app
является директивой init приложения по умолчаниюangularJs
. Если вы не передадите какую-либо ссылку наng-app
оно инициализирует ваше приложение без какой-либо именованной ссылки. Но если вы передаете какую-либо ссылку, вы должны объявить контроллер в приложении, используя этуreference
.