Я работал над угловыми js, и я обнаружил, что есть много способов создать модуль, контроллер и т.д.
Например:
var app = angular.module('myApp', []);
а также:
angular.module('myApp', []);
Если я хочу создать контроллер (первый способ):
app.controller('myController', [...]);
создать контроллер (второй способ):
angular.module('myApp').controller('myController', [...]);
Действительно... в чем разница?
Благодарю!
angular.module('myApp', []) является установщиком для модуля, который возвращает экземпляр после его создания. Помещение var app = спереди просто содержит ссылку на объект JavaScript модулей. Пустым массивом после имени модуля является список зависимостей. Мы передаем пустой список зависимостей, чтобы отличить его от геттер-звонка, и пусть Angular знает, что это вызов сеттера, и мы создаем модуль.
angular.module('myApp') является получателем для модуля и возвращает объект JavaScript. Разница здесь в том, что нет списка зависимостей, поэтому Angular знает, что он извлекает модуль, который уже был создан.
Когда вы находитесь в том же файле, все в порядке, сохраняйте ссылку на модуль с локальной переменной, например, а когда вы создаете контроллеры в разных файлах, вы не должны полагаться на существование приложения для вызова глобальных переменных и должны извлекать модуль с геттерным звонком.
На самом деле нет никакой разницы, это точно так же.
Этот app.controller(...) равен угловому модулю ('myApp'). Controller (...)
потому что вы объявили переменную под названием app, которая равна угловому модулю()
И цепная вещь: angular.module.controller - это все из вас, три примера.
Помещение angular.module() в переменную под названием app или что-то другое упрощает синтаксис, что все ^^