Size: a a a

Советский Angular

2021 March 29

AI

Alex Inkin in Советский Angular
Глобальные объекты нельзя инжектить без @Inject, ангуляр их не разрулит. Иногда он чего-то в дев моде разруливает, а в проде потом падает. Так что токены и абстрактные классы, в которые ты что-то провайдишь надо с @Inject писать. Я пишу всё с @Inject, чтобы не париться.
источник

AI

Alex Inkin in Советский Angular
Ага. Все вечно про это спрашивают :) Ща твит напишу с причинами и буду всех на него направлять.
источник

C

Constantine in Советский Angular
мне тоже интересно, спасибо
источник

AI

Alex Inkin in Советский Angular
a) Чтобы было единообразие с токенами
б) Чтобы можно было написать более общий тип
в) Раньше без этого нельзя было собрать проект без метаданных, а с метаданными в код попадали всякие классы типа Event, которых нет в node.js и приходилось под SSR их как-то полифиллить
источник

AK

Alex Kulagin 🏡 in Советский Angular
Alex Inkin
a) Чтобы было единообразие с токенами
б) Чтобы можно было написать более общий тип
в) Раньше без этого нельзя было собрать проект без метаданных, а с метаданными в код попадали всякие классы типа Event, которых нет в node.js и приходилось под SSR их как-то полифиллить
А ElementRef зачем через Inject? С другими-то понятно
источник

AK

Alex Kulagin 🏡 in Советский Angular
просто ради единообразия?
источник

ДМ

Денис Макаров... in Советский Angular
Alex Kulagin 🏡
А ElementRef зачем через Inject? С другими-то понятно
a
источник

AI

Alex Inkin in Советский Angular
Да, чтобы голову не забивать ненужными решениями )
источник

AI

Alex Inkin in Советский Angular
Так же, как я readonly везде пишу, даже если знаю, что и так никто не будет менять
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
Alex Inkin
a) Чтобы было единообразие с токенами
б) Чтобы можно было написать более общий тип
в) Раньше без этого нельзя было собрать проект без метаданных, а с метаданными в код попадали всякие классы типа Event, которых нет в node.js и приходилось под SSR их как-то полифиллить
А как же типизация? Из-за Inject мы ее опускаем, что может повлечь за собой непредвиденные ошибки
источник

AI

Alex Inkin in Советский Angular
Ты имеешь ввиду, что я могу случайно совсем не тот тип написать?
источник

AI

Alex Inkin in Советский Angular
Я ж её не опускаю, а беру на себя )
источник

E

Eugene in Советский Angular
Alex Inkin
Я ж её не опускаю, а беру на себя )
ну как бы из-за декоратора ты не можешь на этапе анализа проверить соответствие того, что ты инжектишь, тому, что ты ожидаешь

всплывет в рантайме и беда
источник

AI

Alex Inkin in Советский Angular
Ты и так на этапе анализа не можешь это проверить. Ты только когда в рантайме задёшь - тебе ангуляр скажет "Я не нашёл такую зависимость", если ты указал один класс, а провайдил другой.
источник

AI

Alex Inkin in Советский Angular
Тут более скрыто будет, да, но мне кажется не велика беда.
источник

E

Eugene in Советский Angular
Alex Inkin
Тут более скрыто будет, да, но мне кажется не велика беда.
все равно неявность существует, что неприятно
источник

E

Eugene in Советский Angular
хочется типизацию в декораторах
источник

AI

Alex Inkin in Советский Angular
Ну было бы круто, да, если бы Ангуляр проверял, что дженерик токена в Inject подходит под тип, указанный у параметра конструктора.
источник

AI

Alex Inkin in Советский Angular
Вроде даже ничего ему не мешает так делать, кроме того, что на это не написали проверок.
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
Alex Inkin
Ты имеешь ввиду, что я могу случайно совсем не тот тип написать?
сейчас это выглядит как "мамой клянусь, что там такой тип")

как и кастинг к any и т.д.
источник