Хранение объекта с наблюдателем в NGRX выдает ошибку и разбивает ее - PullRequest
0 голосов
/ 05 июня 2019

У меня есть хранилище 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' закрывает окружность

enter image description here

EDIT : Есть ли способ избежать циклической ссылки при создании наблюдаемой?

...