Size: a a a

Angular - русскоговорящее сообщество

2020 March 14

N👩

Nikita 👩🏻‍💻💭... in Angular - русскоговорящее сообщество
Вертихвост キバ 🏡🦊
Она в любом случае подменяется
ладно
источник

nt

nur tlek in Angular - русскоговорящее сообщество
Вертихвост キバ 🏡🦊
Использовать любые другие идентификаторы в качестве токенов
А type можно ?
источник

N👩

Nikita 👩🏻‍💻💭... in Angular - русскоговорящее сообщество
nur tlek
А type можно ?
type тоже выбрасывается в рантайме
источник

N👩

Nikita 👩🏻‍💻💭... in Angular - русскоговорящее сообщество
абстрактные классы нет
источник

Вキ

Вертихвост キバ 🏡🦊... in Angular - русскоговорящее сообщество
nur tlek
А type можно ?
нет, можно только объекты с декоратором Injectable, и InjectionToken
источник

nt

nur tlek in Angular - русскоговорящее сообщество
а ты можешь статью кинуть про DI в ангуляре
источник

nt

nur tlek in Angular - русскоговорящее сообщество
я просто его использую только когда юзаю сервисы
источник

Вキ

Вертихвост キバ 🏡🦊... in Angular - русскоговорящее сообщество
nur tlek
а ты можешь статью кинуть про DI в ангуляре
Вот одна из последних, тут хорошо должно быть расписано https://t.me/angular_fox/274

Есть еще другие на канале по поиску Angular DI или Injection найдется несколько, например, про bloom filter: https://t.me/angular_fox/46
источник

nt

nur tlek in Angular - русскоговорящее сообщество
спасибо!
источник

Вキ

Вертихвост キバ 🏡🦊... in Angular - русскоговорящее сообщество
nur tlek
спасибо!
Есть еще вот такой кейс: DI + Directive

Суть очень проста. Есть компонент, логику которого можно дополнять с помощью директив. Например, как в данном случае, можно навесив директиву добавить highlight для monaco.

https://github.com/codelab-fun/codelab/tree/master/libs/code-demos/src/lib/code-demo-editor/directives
источник

nt

nur tlek in Angular - русскоговорящее сообщество
@thekiba смотрю у тебя нету статьей про cd в ангуляре да?)
источник

Вキ

Вертихвост キバ 🏡🦊... in Angular - русскоговорящее сообщество
nur tlek
@thekiba смотрю у тебя нету статьей про cd в ангуляре да?)
Возможно нет)
источник

nt

nur tlek in Angular - русскоговорящее сообщество
почему бы не сделать
источник

nt

nur tlek in Angular - русскоговорящее сообщество
у многих
источник

nt

nur tlek in Angular - русскоговорящее сообщество
с этим проблемы)
источник

nt

nur tlek in Angular - русскоговорящее сообщество
в смысле для оптимизации
источник

Вキ

Вертихвост キバ 🏡🦊... in Angular - русскоговорящее сообщество
nur tlek
спасибо!
Вот еще кейс: DI + ViewChild/Children, ContentChild/Children

Есть несколько реализаций базового компонента, и мы не знаем, какие будут в шаблоне. Поэтому хотим через полиморфизм получить все компоненты из шаблона или из projection nodes.

https://30.codelab.fun/getting-components-of-different-types-with-viewchild/
источник

Вキ

Вертихвост キバ 🏡🦊... in Angular - русскоговорящее сообщество
nur tlek
в смысле для оптимизации
Возьму на заметку, спасибо)
источник

nt

nur tlek in Angular - русскоговорящее сообщество
👌🏻
источник

N👩

Nikita 👩🏻‍💻💭... in Angular - русскоговорящее сообщество
Вертихвост キバ 🏡🦊
Нет, это не норм. Вот тут было обсуждение (смотреть сообщения выше) https://t.me/angular_ru/315189
https://t.me/angular_ru/315176

а как же ? ...
Telegram
Вертихвост キバ in Angular - русскоговорящее сообщество
Это просто контракт, когда мы хотим четко обозначить методы, которые должны быть доступны, и которые мы можем вызывать. Например, если это сервис с модалками, то в абстракции будет Открыть модалку и Закрыть модалку.

У меня есть вот такое под рукой. MessageBus говорит, какие методы должны быть реализованы:
https://github.com/thekiba/angular-platform-cloud/blob/master/projects/platform-cloud/src/lib/shared/message-bus.ts

ServerMessageBus и BrowserMessageBus реализуют эти методы вот тут:
https://github.com/thekiba/angular-platform-cloud/blob/master/projects/platform-cloud/src/lib/server/server-bus.ts
https://github.com/thekiba/angular-platform-cloud/blob/master/projects/platform-cloud/src/lib/browser/browser-message-bus.ts

А дальше взаимодействите происходит через абстракцию. Вот тут мы говорим, что хотим получить MessageBus:
https://github.com/thekiba/angular-platform-cloud/blob/master/projects/platform-cloud/src/lib/server/server-renderer-adapter.ts#L18

И мы знаем, что у него будут только два метода, поэтому…
источник