поле Favorites(массив).
Есть 2 метода add и remove. Так вот, когда вызывается метод remove, теряется реактивность.
код:
import { Injectable } from '@angular/core';
import { Pasta } from './Pasta';
@Injectable({
providedIn: 'root'
})
export class FavoritesService {
constructor() { }
favorites: Pasta[] = []
get(): Pasta[] {
return this.favorites
}
add(pasta: Pasta) {
this.favorites.push(pasta)
}
remove(id: number) {
console.log(id)
this.favorites = this.favorites.filter(pasta => pasta.id !== id)
}
}
Это из-за того что я изменяю ссылку на массив в методе remove или есть другая причина?
перепиши на сабжект
Сервис содержит поле?))))
А что не так?
наверное работал раньше с 1 ангуляром? во 2 реактивность достигается за счет rx, храни и изменяй данные в BehaviorSubject'е. А в компонента подписывайся
Не работал с ангуляром в принципе. Т.е любое управление состоянием в ангуляре лучше делать через rxjs?
если состояние хранится в сервисе - да. Если в компоненте, то там не обязательно
Обсуждают сегодня