В Angular 1.2, ngRoute
- отдельный модуль, поэтому вы можете использовать другие сетевые маршрутизаторы, например ui.router
.
Я пишу модуль с открытым исходным кодом, который предназначен для работы с несколькими различными реализациями маршрутизаторов. Итак, как я могу проверить, какой маршрутизатор загружен или существует?
Я делаю следующее внутри factory в моем модуле, но он не работает так, как я ожидаю:
if (angular.module("ngRoute"))
// Do ngRoute-specific stuff.
else if (angular.module("ui.router"))
// Do ui.router-specific stuff.
Возникает ошибка, если какой-либо модуль не загружен. Например, если приложение использует ui.router
, тогда для проверки ngRoute
возникает следующая ошибка:
Неподготовленная ошибка: [$ injector: nomod] Модуль 'ngRoute' недоступен! Вы либо ошибочно написали имя модуля, либо забыли загрузить его. Если регистрация модуля гарантирует, что вы укажете зависимости как второй аргумент.