Контроллер, определенный в модуле, не будет иметь доступа ни к каким глобальным переменным по сравнению с глобальным контроллером. Истинный ?
ЛОЖЬ. Глобальные переменные, ну, глобальные. Вы можете получить к ним доступ из контроллера, но не должны этого делать, если только вас не беспокоит тестирование — а оно определенно должно быть.
Любые другие важные моменты, которые следует отметить здесь?
Глобальный контроллер не может использовать сервисы из других модулей, кроме самого Angular. Если вы хотите использовать компоненты, определенные в других модулях (директивы, фабрики, провайдеры и т. д.), вам придется создать свой собственный модуль и объявить их как зависимости, чтобы вы могли внедрять нужные биты туда, где они вам нужны.
Единственное использование глобального контроллера, IMO, — это демонстрация Angular простым и понятным способом. Не используйте его в производстве.
Обновить
Как указал @dotnetcoder в комментариях, по-видимому, из-за того, как Angular загружает модули, глобальный контроллер может фактически получить доступ к службам из модуля, если этот модуль уже загружен фреймворком. Я исправляюсь. Но, хотя технически это возможно, я не могу придумать ни одной причины, по которой кто-то должен это делать, и я поддерживаю то, что сказал ранее: не используйте глобальные контроллеры в производстве.
person
Michael Benford
schedule
14.08.2013