Typescript и rxjs 6 - Свойство не существует для типа '{}' - PullRequest
0 голосов
/ 06 сентября 2018

Я разрабатываю небольшое приложение с Ionic 3, запрашивающее базу данных Firebase для получения 2 серий данных.Первая сборка завершается с ошибкой «Свойство не существует для типа« {} »», но если я сохраню еще раз файл .ts (сохраните, например, home.ts, чтобы выполнить ионную перестройку), ошибка исчезнет, ​​и страница заработает.

Я делаю:

ionViewDidLoad() {

  this.db.list('myPath-in-firebase', ref => ref.orderByChild('my-key'))
    .valueChanges()
      .subscribe(result => { 
      let mydata1= result.map(x => x.my-property-key1);
      let mydata2= result.map(x => x.my-property-key2);
      console.log(mydata1);
      };
}

, но получаю ошибку машинописного текста: "Свойство 'my-property-key1' не существует для типа '{}'" в первом ионном сообщении.служить начало сборки, затем я сохраняю файл проекта, ионная перестройка, и она работает нормально.Я предполагаю, что мне нужно где-то объявить x и его свойства, но я не могу знать, как и где.

Наконец (может быть, есть лучший метод, и вы могли бы мне помочь?), Моя БД выглядит так:

my-firebase-database
    |- my-Path
           |- Push-ID-1
                   |- my-property-key1: value
                   |- my-property-key2: value
           |- Push-ID-2
                   |- my-property-key1: value
                   |- my-property-key2: value
           |- Push-ID-3
                   |- my-property-key1: value
                   |- my-property-key2: value

У меня будет 2 массива, один из которых содержит значения my-property-key1, а другой - значения my-property-key2.Спасибо за помощь

Обновление : см. В комментариях.В настоящее время я использовал обходной путь, меняющий синтаксис с result.map (x => x.my-property-key1) на result.map (x => x [my-property-key1])

в соответствиина это: https://github.com/Microsoft/TypeScript/issues/12596

1 Ответ

0 голосов
/ 06 сентября 2018

Попробуйте

npm remove --save typescript;
npm i --save-dev typescript@2.6.2;
npm i --save-dev rxjs@6.2.2
npm i --save-dev rxjs-compat@6.2.2



import 'rxjs/Rx';

import { switchMap, map } from 'rxjs/operators';
import { Observable, pipe } from 'rxjs';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...