当我试图使用angularfire 2为我的离子3应用程序服务时,我再次出现错误。
以下是错误:
类型脚本错误“;”预期。C:/Users/Admin/Verein/node_modules/rxjs/internal/types。d、 ts
导出声明类型ObservedValueOf=O扩展observeInput?T:从来没有;
需要打字错误表达式。C:/用户/管理员/Verein/node_modules/rxjs/内部/types.d.ts
导出声明类型ObservedValueOf=O扩展observeInput?T:从来没有;
Typescript错误“ObservableInput”仅引用类型,但在此处用作值。C:/Users/Admin/Verein/node_modules/rxjs/internal/types。d、 ts
Typescript错误找不到名称“推断”。C:/Users/Admin/Verein/node_modules/rxjs/internal/types。d、 ts
还有更多都与rxjs有关。我用它作为例子如下:
import { Note } from '../../model/note/note.model';
import { AngularFireDatabase } from 'angularfire2/database';
import { map } from 'rxjs/operators';
import { Observable } from 'rxjs';
@Component({
selector: 'page-aufgaben',
templateUrl: 'aufgaben.html'
})
export class AufgabenPage {
aufgaben: Observable<Note[]>;
constructor(public navCtrl: NavController, private modal: ModalController, public events: Events, private db: AngularFireDatabase) {
this.aufgaben = this.db.list('/aufgabenverzeichnis/').snapshotChanges().pipe(
map(changes =>
changes.map(c => ({ key: c.payload.key, ...c.payload.val() }))
)
);
}
这是我的包裹。json:
{
"name": "Verein",
"version": "0.0.1",
"author": "Ionic Framework",
"homepage": "http://ionicframework.com/",
"private": true,
"scripts": {
"start": "ionic-app-scripts serve",
"clean": "ionic-app-scripts clean",
"build": "ionic-app-scripts build",
"lint": "ionic-app-scripts lint"
},
"dependencies": {
"@angular/animations": "5.2.11",
"@angular/common": "5.2.11",
"@angular/compiler": "5.2.11",
"@angular/compiler-cli": "5.2.11",
"@angular/core": "5.2.11",
"@angular/forms": "5.2.11",
"@angular/http": "5.2.11",
"@angular/platform-browser": "5.2.11",
"@angular/platform-browser-dynamic": "5.2.11",
"@ionic-native/core": "~4.18.0",
"@ionic-native/splash-screen": "~4.18.0",
"@ionic-native/status-bar": "~4.18.0",
"@ionic/storage": "2.2.0",
"@reactivex/rxjs": "^5.5.3",
"angularfire2": "^5.1.1",
"firebase": "^5.8.4",
"ionic-angular": "3.9.3",
"ionicons": "3.0.0",
"promise-polyfill": "^8.1.0",
"rxjs": "^6.4.0",
"rxjs-compat": "^6.4.0",
"sw-toolbox": "3.6.0",
"zone.js": "0.8.29"
},
"devDependencies": {
"@ionic/app-scripts": "3.2.1",
"@ionic/lab": "1.0.20",
"typescript": "^2.6.2"
},
"description": "An Ionic project"
}
我知道这与不同的版本有关,但我读到安装rxjs compat应该可以解决这个问题。问题是它从来没有这样做过。当我在IDE中保存部分项目而不更改任何内容时,它会在实验室页面重新加载后再次工作,这更奇怪。所以我真的不知道该怎么办了。请帮忙。
编辑:遵循下面的建议并升级到typscript 2.7后。2和rxjs/rxjs兼容到6.3。3上面的错误消失了,但是我得到了一堆新的错误,这些错误在我的IDE中随机保存了项目后也消失了,但是如果我重新服务的话,它们会回来。以下是新的错误:
我设法删除了其中一些(它们都与语法相关),但有一个类型我无法删除,因为我不知道如何更改语法。剩下的所有错误都是这样的:
Typescript错误类型“可观察”
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { ModalController } from 'ionic-angular';
import { Events } from 'ionic-angular';
import { Note } from '../../model/note/note.model';
import { AngularFireDatabase } from 'angularfire2/database';
import { map } from 'rxjs/operators';
import { Observable } from 'rxjs';
@Component({
selector: 'page-aufgaben',
templateUrl: 'aufgaben.html'
})
export class AufgabenPage {
public color: string = 'primary';
public color2: string ='primary';
aufgaben: Observable<Note[]>;
constructor(public navCtrl: NavController, private modal: ModalController, public events: Events, private db: AngularFireDatabase) {
/*error points to this.aufgaben*/ this.aufgaben = this.db.list('/aufgabenverzeichnis/').snapshotChanges().pipe(
map(changes =>
changes.map(c => ({ key: c.payload.key, ...c.payload.val() }))
)
);
}
笔记模型ts:
export interface Note {
titel: string;
beschreibung: string;
}
这个错误在不同的ts文件中多次出现,所以我只列出了一个示例。保存后,它们全部消失,重新打开应用程序后重新出现,无需我进行任何更改。所以我真的不知道如何解决这个问题。这些语法错误是否与新的typscript版本相关?
编辑:我可以通过更改“aufgaben:Observable”来解决这个问题
这些问题与rxjs
和Typescript
有关。对于rxjs
新版本(6.4.0),支持的TypeScript
的最低版本为2.8。但在您的例子中,TypeScript
版本是2.6。2.这就是这个问题的原因。要解决此问题,请将TypeScript
升级到2.8或将rxjs
和rxjs compat
降级到与TypeScript 2.6兼容的miner版本。2.
在我的例子中,我将rxjs
和rxjs compat
降级为6.3。3版本(我的打字脚本版本是2.7.2)。
请在此处查找更多信息
我有一个FirebaseActions类,它为我做注册和登录工作。我在其中添加了一个getCurrentUser方法。我从我的主屏幕小部件调用这个函数。我需要将返回值(type= FirebaseUser)放入主屏幕的一个变量中,以访问loggedInUser.email。我的问题;有什么方法可以将FirebaseUser类型数据转换成Future类型变量?当我在HomeScreen而不是Fire
问题内容: 我越来越 非法胶印类型 此代码每次迭代的错误。这是代码: 问题答案: __当您尝试使用 对象 或 数组 作为索引键访问数组索引时,会发生 非法的偏移类型 错误。 例: 您的数组包含一个对象或数组,其值为的某个值,当您尝试将其用作的索引键时,会收到警告。您必须确保包含所需的内容并正确访问它。
已完成休耕步骤,但如您所见,将出现休耕错误:
我试图实现方法底部导航视图,但当我运行代码时,我得到了这个错误 build.gradle(模块应用程序)
我有以下两段代码: 自定义标题。tsx 详细信息屏幕。tsx 在detailscreen中,我得到以下错误: 属性“导航”在“只读”类型上不存在 我搜索了这个问题,我知道它有一个问题,即我没有在CustomHeader中声明类型。然而,我不知道如何解决这个问题。我对打字有点陌生。有人能给我解释一下如何解决这类问题吗?