Size: a a a

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

2021 June 24

SA

Saqhan Abaev in Angular - русскоговорящее сообщество
а как изменение item  на product исправит ситуацию?
источник

SA

Saqhan Abaev in Angular - русскоговорящее сообщество
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Я опечатался, исправьте строку эту, не this.products = product должно быть

Наверное в массив нужно добавить item, нет?
источник

SA

Saqhan Abaev in Angular - русскоговорящее сообщество
если Вы имеете в виду изменить название, то я изменил. Но ошибку это не исправляет) может я не так понимаю
источник

SA

Saqhan Abaev in Angular - русскоговорящее сообщество
тут вроде тип нужно указать массиву)
источник

VM

Vadim Malovaniy in Angular - русскоговорящее сообщество
Item это массив?
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Нет, я не про название)

У Вас this.products - это массив. А Вы туда присваиваете один элемент

Может this.products = [...this.products, item] вот так?
источник

SA

Saqhan Abaev in Angular - русскоговорящее сообщество
да, почему то назвал item_
источник

SA

Saqhan Abaev in Angular - русскоговорящее сообщество
извиняюсь за свой каламбур) нам приходит массив, и мы присваиваем его переменной, потом циклим эту переменную в темплейте
источник

VM

Vadim Malovaniy in Angular - русскоговорящее сообщество
Ну тогда и укажи что это массив. Product[]
источник

SA

Saqhan Abaev in Angular - русскоговорящее сообщество
типа так?

   products: Product[] = [];

 ngOnInit(): void {
   this.localStorage.isProductAdded$.subscribe(
     (product: Product[]) => (this.products = product)
   );
 }
источник

VM

Vadim Malovaniy in Angular - русскоговорящее сообщество
Да
источник

VM

Vadim Malovaniy in Angular - русскоговорящее сообщество
Ну и в Локал сторедже тоже укажи что это массив
источник

VM

Vadim Malovaniy in Angular - русскоговорящее сообщество
Тебе нужно правильно типы указать
источник

АЖ

Алихан Жумажанов... in Angular - русскоговорящее сообщество
добрый день! Проблема с подпиской. getProducts() - bejaviorSubject который просто return нить товары. getProductsFromApi - запрос на апи. Моя логика такая: я делаю один запрос на сервер, беру данные сохраняю на фронте, если на клиенте нету данных я делаю запрос. Проблема в том что при перезагрузке страницы отправляется запрос, получил данные темплейт отрисовал. Из за setProducts (вызываю его в tap) у меня идет 2я подписка на getProducts и темплейт снова рисуется. Как отписаться от 2й подписы после setProducts? Попробовал вот так отписаться выводитт ошибку что до иницализации нелья отписаться или что в этом роде
источник

АЖ

Алихан Жумажанов... in Angular - русскоговорящее сообщество
источник

АЖ

Алихан Жумажанов... in Angular - русскоговорящее сообщество
источник

АЖ

Алихан Жумажанов... in Angular - русскоговорящее сообщество
источник

АЖ

Алихан Жумажанов... in Angular - русскоговорящее сообщество
вот сам сервис
источник

НН

Никита Наумов... in Angular - русскоговорящее сообщество
Ты их на фронте в локал сторадже будешь хранить или просто в переменной?
источник