Size: a a a

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

2018 June 04

K

Katerina in AngularPiter - русскоговорящее сообщество
спасибо
источник

K

Katerina in AngularPiter - русскоговорящее сообщество
но это выходит, что компонент должен знать про модуль, в котором он объявлен
источник

K

Katerina in AngularPiter - русскоговорящее сообщество
я думала пихнуть условие в ngModule
источник

K

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

MI

Max Ivanov in AngularPiter - русскоговорящее сообщество
Katerina
но это выходит, что компонент должен знать про модуль, в котором он объявлен
компонент знает про специальный модуль, но сам компонент не объявляется в этом модуле
источник

MI

Max Ivanov in AngularPiter - русскоговорящее сообщество
поэтому я и назвал его AuthModule
что он юзается только в нужных местах
источник

MI

Max Ivanov in AngularPiter - русскоговорящее сообщество
можно еще вот так попробовать, сейчас
источник

MI

Max Ivanov in AngularPiter - русскоговорящее сообщество
А еще можно так тогда
источник

MI

Max Ivanov in AngularPiter - русскоговорящее сообщество
источник

MI

Max Ivanov in AngularPiter - русскоговорящее сообщество
источник

MI

Max Ivanov in AngularPiter - русскоговорящее сообщество
то есть делаем метод getServiceByKey
источник

MI

Max Ivanov in AngularPiter - русскоговорящее сообщество
источник

MI

Max Ivanov in AngularPiter - русскоговорящее сообщество
по Робину Мартину return value || null
null не стоит возвращать, это плохая практика
источник

MI

Max Ivanov in AngularPiter - русскоговорящее сообщество
зато условий не надо
источник

Вキ

Вертихвост キバ in AngularPiter - русскоговорящее сообщество
https://github.com/IndigoSoft/ngx-component-outlet/blob/master/src/app/components/controls/control.resolver.ts

Вот ещё пример, только в данном случае будет не resolver, а сразу proxy.

Так же признак использования конкретного сервиса можно положить на конфигурацию, например под поле canUse. Тогда в модуле будет что-то вроде такого:

providers: [
 provideService([
   { service: CustomService, canUse: CanUseCustomService },
   { service: AnotherService, canUse: CanUseAnotherService }
 ])
]

@Injectable()
class ProxyService {

 constructor(@Inject(SERVICES) private services) {}

 doSomething() {
   this.resolve().doSomething();
 }

 private resolve(): BaseService {
   return /** дергаем каждый конфиг и ищем необходимый сервис */;
 }
источник

K

Katerina in AngularPiter - русскоговорящее сообщество
Спасибо! Изучу
источник
2018 June 05

АД

Александр Духовняк in AngularPiter - русскоговорящее сообщество
источник
2018 June 08

K

Katerina in AngularPiter - русскоговорящее сообщество
ееее, фото подъехали https://meetup.tinkoff.ru/events/spb-angular-meetup-2
источник
2018 June 19

K

Katerina in AngularPiter - русскоговорящее сообщество
источник

Вキ

Вертихвост キバ in AngularPiter - русскоговорящее сообщество
Оперативно! Надо на анонс сделать в основном чате.
https://www.youtube.com/channel/UCpDTAtunmHBcI6CsJoUV7ww

@Ai_boy
источник