Как исправить «Невозможно установить свойство« bindCallback »неопределенного» в Ionic? - PullRequest
0 голосов
/ 23 декабря 2018

Я пытаюсь создать приложение ionic-3, которое использует Google Firestore в качестве базы данных, но я получаю ошибки.

Раньше я получал TypeError: Object(...) is not a function, который после некоторого поиска в Google пыталсяисправить это, установив rsjs и rsjs-compat.Теперь я получаю Cannot set property 'bindCallback' of undefined, даже когда я удаляю все ссылки на firebase и rsjx в моем коде.

Я также пробовал различные варианты импорта { Observable } from 'rxjs/Observable' и import { Observable } from 'rxjs', но ни один из нихустранить проблему.

Мои версии пакета: (глобальные)

  • @ angular / cli @ 7.1.3
  • cordova@8.1.2
  • ionic@4.5.0
  • n@2.1.12

(не глобальный)

  • @ angular / core @ 5.2.11
  • typescript@2.6.2
  • @ angular / fire @ 5.1.1
  • angularfire2@5.1.1
  • firebase@5.7.1
  • rxjs@6.0.0
  • rxjs@6.3.3

Импорт:

  • import { Component, Injectable } from '@angular/core';

  • import { IonicPage, NavController, NavParams } from 'ionic-angular';

  • import { AngularFirestore } from 'angularfire2/firestore';

import { Observable } from 'rxjs';

@IonicPage()
@Component({
  selector: 'page-home',
  templateUrl: 'home.html',
})
export class HomePage {

  constructor(public navCtrl: NavController, public navParams: NavParams, private fireStore: AngularFirestore) {
      this.chatDoc = fireStore.doc('chats/test-chat')
  }

  ionViewDidLoad() {
    console.log('ionViewDidLoad HomePage');
  }

}

Ошибка отIonic:

Ошибка выполнения

Cannot set property 'bindCallback' of undefined
Stack
TypeError: Cannot set property 'bindCallback' of undefined
at Object.<anonymous> (http://localhost:8100/build/vendor.js:154433:32)
at __webpack_require__ (http://localhost:8100/build/vendor.js:55:30)
at Object.<anonymous> (http://localhost:8100/build/vendor.js:152110:1)
at __webpack_require__ (http://localhost:8100/build/vendor.js:55:30)
at Object.<anonymous> (http://localhost:8100/build/vendor.js:49616:10)
at __webpack_require__ (http://localhost:8100/build/vendor.js:55:30)
at Object.<anonymous> (http://localhost:8100/build/vendor.js:152085:14)
at __webpack_require__ (http://localhost:8100/build/vendor.js:55:30)
at Object.<anonymous> (http://localhost:8100/build/vendor.js:48266:10)
at __webpack_require__ (http://localhost:8100/build/vendor.js:55:30)

Ionic Framework: 3.9.2

Ionic App Scripts: 3.2.1
Angular Core: 5.2.11
Angular Compiler CLI: 5.2.11
Node: 10.14.2
OS Platform: Windows 10
Navigator Platform: Win32
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36

1 Ответ

0 голосов
/ 27 декабря 2018

Как я прочитал здесь https://github.com/angular/angular/issues/20095, проблема возникла из-за несовместимости машинописного текста.Обновление машинописного текста должно сделать всю работу.поэтому запустите это в cmd (убедитесь, что вы установили node.js)

npm install -g typescript@latest

Тогда это должно работать ^ _ ^.

...