Мне пришлось работать со специалистом в команде, который пытается подбить меня использовать построенные им сервисы. Но что-то мне синтаксис такой не нравится и вызывает ступор. Может быть я отстал от прогресса, что это за зверства такие? Поправьте меня, но это же на мой взгляд bad practice.
// Обращение к сервису из компонента
initItem() {
this.availableActions = {
Purchased: this.siteService.getClientDetails().RegistryItemSupportPurchasedInStore,
ChipIn: this.siteService.getClientDetails().RegistryItemSupportChipIn,
GiftIt: this.siteService.getClientDetails().RegistryItemSupportGiftIt
}
// Сам сервис выглядит как-то так
getClientDetails(): M.ClientDetails {
return this.clientDetails;
}
initSite(siteId: number): Observable<void> {
return new Observable<void>(o => {
this.net.getClientDetails(siteId).subscribe(clientDetails => {
this.clientDetails = clientDetails;
// Init feature configuration
o.next();
o.complete();
});
});
}
Меня напрягает прежде всего вот эта вот конструкция:
this.siteService.getClientDetails().RegistryItemSupportChipIn
Выходит, что каждое свойство объекта притягивается через шпагат из сервиса.
Если очень важна любая возможная производительность - лучше сделать один запрос компонента, и работать с ним, если нет, то можно и так.
Если это все поля, то можно просто this.obj = service.getObj().
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
У меня есть таблицаНе подскажете, как при нажатии на Save сделать так, чтобы страница обновлялась? Используется Datatables
Сайт на aspnet mvc, нужно сделать звуковое сопровождение если новые данные добавились в таблицу
Как на картинке нужно чтобы стрелки находились в каком-либо блоке оберткеА этот сам блок был в контейнере контента
Пытался поставить на линукс phpmyadminВначале была ошибка, что нет данного файла или каталога, сейчас жалуется на это