Size: a a a

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

2021 February 06

SV

Sergey Vakhramov in Angular - русскоговорящее сообщество
Понял, что вы хотите, глянув на картинку. А в чём проблема?
источник

SV

Sergey Vakhramov in Angular - русскоговорящее сообщество
Енам – это такой же объект. У него есть ключи и значения.
источник

ДЗ

Даниил Зеликов... in Angular - русскоговорящее сообщество
Ну вот ведь если этот же тип брать, то есть автодополнение по ключам как по енамам. Неужели нет способа взять ключи и подставить другой тип значения?(
источник

ДЗ

Даниил Зеликов... in Angular - русскоговорящее сообщество
Пойду в TS беседу)
Если вдруг найду способ - отпишусь)
Спасибо всем за уделенное время
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Даниил Зеликов
Ну вот ведь если этот же тип брать, то есть автодополнение по ключам как по енамам. Неужели нет способа взять ключи и подставить другой тип значения?(
Проблема в том, что у Вас фактически там ключи '1' и '2' и они останутся при проходе про keyof

То, что это значения конкретного enum - этого Вы не передадите в другой класс кроме как явно)
источник

ДЗ

Даниил Зеликов... in Angular - русскоговорящее сообщество
Это обидно)
источник

AG

Alexandr Grinevich in Angular - русскоговорящее сообщество
Всем привет! Вопрос к знатокам rxJs) Нужно обьединить результат вызова двух разных методов апи сервиса (причем второй выполнится на основе данных, пришедших в ответе первого). Решил задачу, создав доп. переменную и присваивая в нее через tap результат вызова первого метода, и в конце конкатенирую с ответом второго. А можно как то обойтись без доп. переменной?
источник

ОС

Олександр Савуловськ... in Angular - русскоговорящее сообщество
Alexandr Grinevich
Всем привет! Вопрос к знатокам rxJs) Нужно обьединить результат вызова двух разных методов апи сервиса (причем второй выполнится на основе данных, пришедших в ответе первого). Решил задачу, создав доп. переменную и присваивая в нее через tap результат вызова первого метода, и в конце конкатенирую с ответом второго. А можно как то обойтись без доп. переменной?
switchMap(data => forkJoin([of(data), this.UserService.getUser(data.userId)]). Если я правильно понял
источник

S

Sergey in Angular - русскоговорящее сообщество
Alexandr Grinevich
Всем привет! Вопрос к знатокам rxJs) Нужно обьединить результат вызова двух разных методов апи сервиса (причем второй выполнится на основе данных, пришедших в ответе первого). Решил задачу, создав доп. переменную и присваивая в нее через tap результат вызова первого метода, и в конце конкатенирую с ответом второго. А можно как то обойтись без доп. переменной?

function getCardData(cardId) {

 return cardService.getCard(cardId).pipe(
   switchMap(card =>
     userService.getUser(card.userId)
       .pipe(map(user => ({ ...card, user })))
   )
 )
}


Вот так можно
источник

AG

Alexandr Grinevich in Angular - русскоговорящее сообщество
@Aleksandr_Savulovskyi , Вроде получилось) Правда в конце еще map(([card, user]) => ({ ...card, user })) потребовался, чтоб все в единый обьект свернуть) Спасибо! @serzhikkk Тоже сработало! Только еще вопрос, а вложенные вот так pipe это считается норм подходом? Немножко напрягла эта лесенка)
источник

ОС

Олександр Савуловськ... in Angular - русскоговорящее сообщество
Alexandr Grinevich
@Aleksandr_Savulovskyi , Вроде получилось) Правда в конце еще map(([card, user]) => ({ ...card, user })) потребовался, чтоб все в единый обьект свернуть) Спасибо! @serzhikkk Тоже сработало! Только еще вопрос, а вложенные вот так pipe это считается норм подходом? Немножко напрягла эта лесенка)
Да. В конце map(([card, user]) => ({ ...card, user })) - нужен
источник

S

Sergey in Angular - русскоговорящее сообщество
Alexandr Grinevich
@Aleksandr_Savulovskyi , Вроде получилось) Правда в конце еще map(([card, user]) => ({ ...card, user })) потребовался, чтоб все в единый обьект свернуть) Спасибо! @serzhikkk Тоже сработало! Только еще вопрос, а вложенные вот так pipe это считается норм подходом? Немножко напрягла эта лесенка)
Да, в полне
На таком подходе эффекты в ngrx работают
источник
2021 February 07

AS

Anton Shvets in Angular - русскоговорящее сообщество
Alexandr Grinevich
@Aleksandr_Savulovskyi , Вроде получилось) Правда в конце еще map(([card, user]) => ({ ...card, user })) потребовался, чтоб все в единый обьект свернуть) Спасибо! @serzhikkk Тоже сработало! Только еще вопрос, а вложенные вот так pipe это считается норм подходом? Немножко напрягла эта лесенка)
можно map вынести в общий поток, если из свитча возвращать обсервабл, содержащий все данные, его можно создать с помощью forkJoin + of например.
собсно можно и без map
хотя и так ок.
источник

G

Genady in Angular - русскоговорящее сообщество
Anton Shvets
можно map вынести в общий поток, если из свитча возвращать обсервабл, содержащий все данные, его можно создать с помощью forkJoin + of например.
собсно можно и без map
хотя и так ок.
Можно вместо map , scan заюзать.
Такой же эффект зависит от чего возвращать надо.
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
Genady
Можно вместо map , scan заюзать.
Такой же эффект зависит от чего возвращать надо.
mergeScan 🙃
источник

G

Genady in Angular - русскоговорящее сообщество
Anton Shvets
mergeScan 🙃
Можно и так конечно
источник

B

Bekulan in Angular - русскоговорящее сообщество
Всем привет, посоветуйте пожалуйста простую библиотеку или способ работы с состоянием, мне там только информацию о юзере хранить, если это можно реализовать без состояния то вообще отлично
источник

SS

Stanislav Sokolov in Angular - русскоговорящее сообщество
Bekulan
Всем привет, посоветуйте пожалуйста простую библиотеку или способ работы с состоянием, мне там только информацию о юзере хранить, если это можно реализовать без состояния то вообще отлично
Сделать сервис и хранить там. Обновление через методы, подписка через rxjs
источник

ДЗ

Даниил Зеликов... in Angular - русскоговорящее сообщество
Скажите, а можно как-то остановить любые изменения урла. У меня есть модалки, при которых смена урла должна быть под запретом, пока пользователь её не закроет. Пока только придумал canDeactive вешать на все роуты.. но мне кажется есть что-то по лучше?
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Даниил Зеликов
Скажите, а можно как-то остановить любые изменения урла. У меня есть модалки, при которых смена урла должна быть под запретом, пока пользователь её не закроет. Пока только придумал canDeactive вешать на все роуты.. но мне кажется есть что-то по лучше?
Не стоит так делать) это плохая практика

Ну и сделать в 100% случаев не получится всё равно )
источник