![](/img/trans.png)
[英]How to get a variable from angularfire, even though it is an observable?
[英]How to fix AngularFire migration observable error type?
我升级了一个一年多没碰过的项目。 它在 angular 10。我升级到 angular 12 但现在我需要将AngularFire从 v6 升级到 v7 并且似乎我有打字问题(乍一看)。
这是我的依赖项:
"@angular/animations": "~12.2.16",
"@angular/cdk": "^12.2.13",
"@angular/common": "~12.2.16",
"@angular/compiler": "~12.2.16",
"@angular/core": "~12.2.16",
"@angular/fire": "^7.2.1",
"@angular/flex-layout": "^12.0.0-beta.35",
"@angular/forms": "~12.2.16",
"@angular/material": "^12.2.13",
"@angular/platform-browser": "~12.2.16",
"@angular/platform-browser-dynamic": "~12.2.16",
"@angular/router": "~12.2.16",
"date-fns": "^2.22.1",
"eslint": "^8.10.0",
"firebase": "^9.4.0",
"ngx-material-timepicker": "^5.5.3",
"rxjs": "^6.6.6",
"tslib": "^2.1.0",
"tslint": "^6.1.3",
"zone.js": "~0.11.4",
"rxfire": "^6.0.0"
我有一个非常简单的非工作示例:
import { AngularFirestore, AngularFirestoreCollection } from '@angular/fire/compat/firestore';
import { Order } from '@models/order';
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root',
})
export class OrderService {
private ordersCollection: AngularFirestoreCollection<Order>;
orders: Observable<Order[]>;
constructor(private firestore: AngularFirestore) {
this.ordersCollection = firestore.collection<Order>('orders');
this.orders = this.ordersCollection.valueChanges();
}
...Some CRUD methods bu im not even there for the migration...
}
在变量 this.orders 上我有以下错误:
类型“Observable<Order[]>”缺少类型“Observable<Order[]>”中的以下属性:_isScalar、_trySubscribe
我严格按照 AngularFire 的迁移指南阅读了新的文档实现,但没有成功......
这是迁移页面: https://github.com/angular/angularfire/blob/master/docs/version-7-upgrade.md
有人对此有任何提示吗?
提前非常感谢您,对于可能出现的错别字,我们深表歉意。
如果您需要更多信息,请不要犹豫。
问候。
亚历克斯
找到了。 问题是旧的 rxjs 版本。 我在 6.xx。 升级到 v7 消除了错误。
经常升级你的项目,别像我一样傻!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.