У меня есть хранилище ngrx, где я храню список объектов из класса Line
.
в классе Line
, имеется следующее
export class Line {
lineId: string
points: Points[]
}
и вТочка есть
private coordinateChangeEmitter = new ReplaySubject<void>();
coordinateChange$: Observable<void>;
constructor() {
this.coordinateChange$ = this.coordinateChangeEmitter.asObservable();
}
, который используется линией и некоторым компонентом, чтобы обновить расположение элементов пользовательского интерфейса ... когда мы this.toy.point[0].coordinateChange$.subscribe(() => {});
для примера
в какой-то момент, я хочучтобы снова спасти свои игрушки и список его пунктов, я делаю следующее:
const ADD_POINT= (state: State, action: featureAction.AddPoint) => {
const line= {...state.entities[action.payload.lineId]};
line.points= [...line.points, ...[action.payload.points]];
return featureAdapter.updateOne({
id: action.payload.lineId,
changes: line.points,
}, state);
};
проблема, с которой я сталкиваюсь, состоит в том, что, поскольку кто-то подписался на точку, переупорядочить разрыв со следующим
TypeError: Преобразование круговой структуры в JSON -> начиная с объекта с помощью конструктора 'Object' |свойство '_subscription' -> объект с конструктором 'Array' |index 0 -> объект с конструктором 'Object' --- свойство '_parent' закрывает окружность
EDIT : Есть ли способ избежать циклической ссылки при создании наблюдаемой?