Size: a a a

Советский Angular

2020 January 28

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
там ведь интерфейс унифицированный будет?
источник

E

Eugene in Советский Angular
да, некий общий DataProvider интерфейс
источник

E

Eugene in Советский Angular
вот, а вопрос в том, как это изящнее организовать. мне сходу приходит только идея замаппить в providers модуля, в котором эта форма используется
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
а что из себя сервис представляет?
источник

b💬

binka 💬 in Советский Angular
источник

b💬

binka 💬 in Советский Angular
чуток минск от москвы отстает)
источник

E

Eugene in Советский Angular
Вертихвост キバ 🏡🦊
а что из себя сервис представляет?
там просто метод, который каким-то образом получает данные и отдает поток с ними
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
Eugene
там просто метод, который каким-то образом получает данные и отдает поток с ними
а конфиг формы приходит в виде json?
источник

E

Eugene in Советский Angular
Вертихвост キバ 🏡🦊
а конфиг формы приходит в виде json?
ды
источник

E

Eugene in Советский Angular
пока что конфиг не приходит, пока что конфиг на клиенте, но, вероятно, в будущем будет приходить
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
Eugene
хочу в конфиге поля в динамической форме указать что-то вроде dataProvider: SomeService и в самом контроле вытянуть указанный в конфиге сервис
чаще всего необходимо вместе сервисом помещать какие-то metadata
их можно резолвить через рефлексию и декораторы
а можно прямо в DI класть в месте с сылкой на сервис

подумай, как бы ты это сделал
источник

E

Eugene in Советский Angular
Вертихвост キバ 🏡🦊
чаще всего необходимо вместе сервисом помещать какие-то metadata
их можно резолвить через рефлексию и декораторы
а можно прямо в DI класть в месте с сылкой на сервис

подумай, как бы ты это сделал
мм, как-то этот вариант "{ provide: 'someProvider', useClass: SomeService },
в конфиге dataProvider: 'someProvider', в компоненте вытянуть через Injector" выглядит проще, чем через метадату
источник

E

Eugene in Советский Angular
но спасибо за направление, поковыряю :)
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
Eugene
мм, как-то этот вариант "{ provide: 'someProvider', useClass: SomeService },
в конфиге dataProvider: 'someProvider', в компоненте вытянуть через Injector" выглядит проще, чем через метадату
не, я про то, что методанные могут пригодиться, и поэтому либо будет провайд

prioviders: [
 SomeService,
 {
   provide: SERVICES_TOKEN,
   useValue: someServiceConfig,
   multi: true
 }
]

или

providers: [
 {
   provide: SERVICES_TOKEN,
   useExisting: SomeService,
   multi: true
 }
]

@Service({ config: 'data', fox: 'frrr' })
@Injectable()
export class SomeService
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
источник

E

Eugene in Советский Angular
Вертихвост キバ 🏡🦊
не, я про то, что методанные могут пригодиться, и поэтому либо будет провайд

prioviders: [
 SomeService,
 {
   provide: SERVICES_TOKEN,
   useValue: someServiceConfig,
   multi: true
 }
]

или

providers: [
 {
   provide: SERVICES_TOKEN,
   useExisting: SomeService,
   multi: true
 }
]

@Service({ config: 'data', fox: 'frrr' })
@Injectable()
export class SomeService
а, понял, спасибо большое! пойду расследовать)
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
Eugene
а, понял, спасибо большое! пойду расследовать)
но во втором случае multi провайдер тоже понадобится, но только с ссылкой на сервис
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
чтобы все сервисы твои можно было получить) думаю это понятно
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
Eugene
а, понял, спасибо большое! пойду расследовать)
добавил, чтобы путанницы не было
речь конкретно про хранение метаданных для сервиса
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
например, в этих метаданных можешь ключ хранить, по которому будешь сервис дергать при ресолве

а еще всякие дескрипшены можно закидывать для UI и тд.
источник