Я хотел бы определить константу, которая использует сервис $locale
. Константы - это объекты, поэтому я не могу вводить их как параметр, как в случае контроллера. Как я могу использовать его?Как проинформировать сервис к угловой константе
angular.module('app').constant('SOME_CONSTANT', {
'LOCALE': $locale.id.slice(0, 2)
})
Я не уверен, что это хороший идеальный вызов углового.инжектора внутри кода модуля. Типичное использование - сотрудничество с библиотеками третьей части. Я думаю, что это угловые службы, работающие в режиме реального времени. – milanlempera
Кажется прекрасным для меня. Можете ли вы дать определенную причину, почему это не будет хорошей идеей? Не согласен с нижним листом, OP удовлетворен ответом – scniro
Вопрос: «Как проинформировать сервис к угловой константе» и вообще, ответ в этом случае. В случае специального использования (здесь предлагается услуга от модуля ng), это возможно, но, я думаю, ваши решения идут вразрез с целью DI. DI говорит о ваших зависимостях, и здесь вы загружаете значение из глобальной зависимости. (docs говорит, что инъекция предназначена для «доступа к инжектору извне Углового» ). Кроме того, угловые константы (по определению) не могут иметь зависимости. Они формируются на другом этапе жизненного цикла (см. Ссылку на сообщение и документацию). Поэтому я считаю, что ваш ответ не очень хорош. – milanlempera