Функциональность директивы ng-app в AngularJs

0

соблюдайте приведенные ниже фрагменты кода.

Дело 1:

Пример применения AngularJS

  <div ng-app = "">
     <input type="text" autofocus="autofocus" placeholder="Enter your name"         
           ng-model="name"><br>
     Hai {{name}}!
  </div>

Случай 2:

Пример применения AngularJS

  <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 влияет на выход.

  • 0
    Вам нужно объявить ng-приложение с именем модуля, которое вы используете в Angular для определения области модуля.
  • 0
    директива ng-app является директивой init приложения по умолчанию angularJs . Если вы не передадите какую-либо ссылку на ng-app оно инициализирует ваше приложение без какой-либо именованной ссылки. Но если вы передаете какую-либо ссылку, вы должны объявить контроллер в приложении, используя эту reference .
Показать ещё 2 комментария
Теги:
scope
angularjs-scope
angularjs-directive
ng-controller

1 ответ

0
Лучший ответ

Прежде всего, постарайтесь понять концепцию 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

  • 0
    Спасибо за предоставленную мне ценную информацию. Но я сомневаюсь, что все еще не решен. Если я не использую ng-контроллер, я использую только ng-приложение с именами и без них, как показано в моих фрагментах кода. Как оба предоставленных мною фрагмента кода отличаются по функциональности.
  • 0
    @Sankar Как вы устанавливаете значение переменной name?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню