![](/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.