我發現AngularFire2庫文檔記錄不完整,很難使用。我有一個angular2應用程序,並想知道是否有人可以幫助我清除使用vanilla JS Firebase代碼而非angularfire2的優點/缺點?是否使用香草JS版本取消了我可能使用的angular2功能?我很困惑,爲什麼使用一個在另一個,個人香草JS一waaaay更好地記錄和功能豐富,我什至不能看到如何註冊AngularFire2的用戶,它沒有任何UI元素和observables是盡我所能!AngularFire2 vs Firebase JS
0
A
回答
0
您可以直接使用vanilla版本。即使有可觀察到的情況 - 可觀察到的和承諾一起很好地工作。例如:
Observable.of(new firebase.auth.GoogleAuthProvider())
.switchMap(o => firebase.app().auth().signInWithPopup(o))
.subscribe()
AngularFire2的
主要優點是頭部傷害可觀(;我建議你學習rxjs,並開始使用過承諾,我使用香草JS SDK,但是,我已經根據創建refObservable
什麼。 AngularFire2確實有FirebaseObservables所以,很簡單,卻足以讓我的需求:。
export function refObservable(ref): Observable<firebase.database.DataSnapshot> {
return Observable.create(observer => {
let fn;
try {
fn = ref.on('value', snapshot => {
observer.next(unwrapSnapshot(snapshot));
});
} catch (error) {
observer.error(error);
}
return() => ref.off('value', fn);
});
};
其中unwrapSnapshot(snapshot)
是檢查快照,並返回相應的結果(數組,對象,字符串等)的簡單功能,我用它來從firebase讀取數據創建/更新/刪除操作我直接做:
Observable.of(checkUserPermission())
.switchMap(() => {
return firebase.database().ref('what/ever').remove();
});
它與其他模塊類似 - 存儲,消息,身份驗證...我更喜歡通過AngularFire2的Firebase SDK。我也發現在服務/網絡工作者中使用起來更容易。
- 如果你已經知道香草sdk,堅持下去。
- 如果你只需要數據庫讀/寫和基本認證使用AngularFire2就簡單了。
- 如果您需要使用JS SDK更多地控制Firebase功能。
相關問題
- 1. Angular2和Firebase(AngularFire2)
- 2. Ionic 2&Angularfire2 + Firebase
- 3. 從firebase捕獲異常 - AngularFire2
- 4. Angularfire2 Ionic2 firebase未定義
- 5. Angularfire2/Firebase - 查詢與angularfire2列表訂閱運行時不工作
- 6. angularfire2
- 7. Angular4/AngularFire2:從管道內查詢firebase?
- 8. 在AngularFire2/Firebase和NodeJS之間共享AccessToken
- 9. 錯誤:polifill promise angularfire2
- 10. 使用AngularFire2
- 11. Firebase DatabaseReference vs DataSnapshot
- 12. Firebase updatechildren vs setvalue
- 13. Angularfire2:如何做羣
- 14. Angularjs2 + Electron + Angularfire2
- 15. AngularFire2 orderByKey和startAt
- 16. Firebase JS Authenticstion cookies
- 17. AngularFire2 Firebase.update failed snapshot.exists()
- 18. Angular 4與AngularFire2
- 19. 使用AngularFire2分頁
- 20. 身份驗證電子郵件/密碼與Firebase sdk3和Angularfire2
- 21. 訪問與AngularFire2(Angular2 rc.5)
- 22. vue js router + firebase authentication
- 23. 查詢不帶同步的Firebase數據庫angularfire2
- 24. 緩存firebase數據不會重複請求。 Angular2與angularfire2
- 25. 使用AngularFire2從Firebase中的多個鍵檢索值
- 26. 使用angularfire2獲取Firebase數據庫中的時間
- 27. 如果用戶存在,Firebase(AngularFire2)僅允許OAuth登錄
- 28. Firebase查詢返回{$ value:null}其中有一個數組--Ionic/Angular2/AngularFire2
- 29. 使用angularfire2時找不到命名空間'firebase'
- 30. 檢查用戶名是否存在於數據庫中firebase angularfire2
感謝您的回答。我一直在努力讓自己的腦袋圍繞rxJS - 但是我在更高級的用途中掙扎着一些「概念」,特別是當在服務中使用Observable時。 '的getUser(){ 返回this.getAuth()switchMap((AUTH)=> { 返回this.af.database.object( 「用戶/」 + auth.uid + 「/公共」); })。 ; } getAuth(){ return this.af.auth.map((auth)=> {return auth}); }' –
很難說出你想從評論中獲得什麼。發佈有關您的問題的其他問題。至於RxJS,是的,當你開始的時候它可能是壓倒性的。簡單來說,網上有很多資源 - 課程/教程等... – Sasxa