В angularjs, почему мы используем [] в функции angular.module ()?

0
var myapp=angular.module('myAppln',[]);

Я новичок в angularjs. Почему мы должны использовать [] в angular.module()? Может кто-нибудь объяснить.

  • 1
    [] в JS означает, что это массив. Это не уникально для AngularJS. module() Angular module() принимает 2 параметра - имя модуля и список зависимых модулей. Когда мы говорим angular.module('myAppln',[]); Вы создаете новый модуль Angular под названием myAppln и он не зависит от других модулей Angular. Если вам нужен какой-то другой модуль Angular, например angular-resource или angular-router, то мы говорим angular.module('myApp',['ngRoute','ngResource']);

3 ответа

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

Это используется для инъекции зависимости. Инъекция зависимостей или DI - это шаблон проектирования программного обеспечения, в котором компонентам предоставляется их зависимость вместо жесткого кодирования их внутри компонента. Это также полезно для настройки зависимостей и обеспечения работоспособности компонентов.

Компоненты, такие как службы и директивы, определяются с помощью инъекционной фабрики. Например, когда вы определяете службу в angularjs, нам это нравится

var abc = angular.module('ngAppName',[]);
    abc.factory('serviceName',['$http',function($http){
    // Rest of code goes here
    }])

angular.module('ngAppName', []) Это более или менее точка входа для углового приложения, и здесь мы не имеем никакой зависимости, так что это пустой массив.

Но посмотрите, когда мы определяем наш пользовательский сервис. Вот эта зависимость зависит от $ http, которая является предопределенной услугой, предлагаемой угловым для вызова ajax. Наша пользовательская услуга (serviceName) имеет зависимость от этого $ http, которую мы вводим здесь

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

abc.config(['$routeProvider',function($routeProvider){
      // Rest of code goes her
    }])

$ RouteProvider - это то, что создает услугу $ route, и она предоставляется angularjs. При создании маршрута мы должны зависеть от $ routeProvider. Поэтому мы ввели его код.

Надеюсь, это будет полезно для вас.

0

если вы пойдете дальше в Angular.js, тогда вы прочтете, что вы можете передать инжекторам и другим материалам в модуль. Таким образом, api возвращается таким образом, что получает массив параметров. когда у вас не будет ни одного, вы просто передадите его пустым []

0

Фактически [] - это массив с зависимостями, которые требуются модулю.

Ещё вопросы

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