Допустим, у нас есть эти два модуля:
angular.module('myApp', ['ui.router', 'mySubApp']);
angular.module('mySubApp', []);
И позволяет сказать, что mySubApp также использует ui.router напрямую (путем ввода $ stateParams в свой контроллер). Лучше ли тогда также загрузить ui.router в этом модуле?:
angular.module('mySubApp', ['ui.router']);
Я знаю, что это не обязательно функционально, но считается ли это хорошей практикой? Мне было особенно тяжело разобраться в этой дилемме.
Если myApp является основным модулем приложения, а mySubApp является подмодулем первого, т. Е. mySubApp будет работать в этом конкретном родительском модуле, тогда не обязательно иметь зависимость в обоих. У вас могут быть некоторые основные модули, которые являются глобальными для всего приложения.
Тем не менее, я бы, вероятно, имел это в каждом модуле, который использует зависимость, потому что вы хотите, чтобы модули действовали как блоки приложений - многократные, поэтому после включения модуля вы хотите иметь его со всеми его зависимостями.
Другие объяснения можно найти в этом руководстве по стилю
Я бы. Что делать, если mySubApp
будет использоваться в другом родительском приложении, которое не включает ui.router
?
Если вы хотите рассматривать его как автономный модуль, он должен определять его зависимости.