var myapp=angular.module('myAppln',[]);
Я новичок в angularjs. Почему мы должны использовать [] в angular.module()
? Может кто-нибудь объяснить.
Это используется для инъекции зависимости. Инъекция зависимостей или 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. Поэтому мы ввели его код.
Надеюсь, это будет полезно для вас.
если вы пойдете дальше в Angular.js, тогда вы прочтете, что вы можете передать инжекторам и другим материалам в модуль. Таким образом, api возвращается таким образом, что получает массив параметров. когда у вас не будет ни одного, вы просто передадите его пустым []
Фактически []
- это массив с зависимостями, которые требуются модулю.
[]
в JS означает, что это массив. Это не уникально для AngularJS.module()
Angularmodule()
принимает 2 параметра - имя модуля и список зависимых модулей. Когда мы говоримangular.module('myAppln',[]);
Вы создаете новый модуль Angular под названиемmyAppln
и он не зависит от других модулей Angular. Если вам нужен какой-то другой модуль Angular, например angular-resource или angular-router, то мы говоримangular.module('myApp',['ngRoute','ngResource']);