@jxs

Как отфильтровать данные по id для определенного элемента?

Есть страница на которой отображается определенный "object". И я хочу на странице этого "object" отобразить еще несколько его "object" которые связаны по дочерним идентификаторам.

Вот небольшой пример JSON:

[{"object_id":1128,"ch_objects_id":null, "name":TestTitul},
{"object_id":2341,"ch_objects_id":1128, "name":Test2}]


Вот на данный момент моя версия как я хотел сделать, но она не правильная и не рабочая(отображается пустой массив).

service:

get_filter_show_Objects(): Observable<Object[]> {
    return this.authService.get('objects')
    .map((response: Response) => <Object[]>response.json()
    .filter((object) => object.object_id == object.ch_objects_id))
}

getObject(id: number) {
    return this.authService.get('objects' + "/" + id + '.json').catch(this.handleError);
}

component:

objects: Array<Object>;
  id: number;
  routeId: any;
  returnUrl: string;
  public errorMsg;
  @Input() object: Object;

      ngOnInit() {
        this.loadObjects();

        this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/object';
        this.routeId = this.route.params.subscribe(
          params => {
            this.id = +params['id'];
          }
        )
        let objectRequest = this.route.params
          .flatMap((params: Params) =>
            this.servObject.getObject(+params['id' ]));
        objectRequest.subscribe(response => this.object = response.json());
      }

      private loadObjects() {
        this.servObject.get_filter_show_Objects().subscribe(
          (data: Object[]) => {
            console.log(data);
            this.objects = data;
          }
        );
      }


Как правильно реализовать фильтр который отобразит список данных и будут связаны по дочернему id для страницы определенного "object"?
  • Вопрос задан
  • 113 просмотров
Пригласить эксперта
Ответы на вопрос 1
@assets
Back-end developer
Не проще ли все данные через backend формировать через связь?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы