我發現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. Ionic 2&Angularfire2 + Firebase
- 2. Angular2和Firebase(AngularFire2)
- 3. Angularfire2 Ionic2 firebase未定義
- 4. Angularfire2/Firebase - 查詢與angularfire2列表訂閱運行時不工作
- 5. angularfire2
- 6. 在AngularFire2/Firebase和NodeJS之間共享AccessToken
- 7. 錯誤:polifill promise angularfire2
- 8. 使用AngularFire2
- 9. Firebase DatabaseReference vs DataSnapshot
- 10. Angularfire2:如何做羣
- 11. Firebase JS Authenticstion cookies
- 12. Angular 4與AngularFire2
- 13. AngularFire2 Firebase.update failed snapshot.exists()
- 14. 使用AngularFire2分頁
- 15. 訪問與AngularFire2(Angular2 rc.5)
- 16. vue js router + firebase authentication
- 17. Angular js 1.0 vs Angular js 2.0
- 18. AngularFire2 OAuth2與谷歌獲取Firebase授權錯誤
- 19. Firebase查詢返回{$ value:null}其中有一個數組--Ionic/Angular2/AngularFire2
- 20. 我想計算Firebase中的ShoppingCart與Angularfire2的總和
- 21. 將firebase uid推到多個位置 - Angularfire2 Ionic 3
- 22. 如何使用AngularFire2更新Firebase中的用戶?
- 23. Firebase angularfire2從數據庫中獲取對象
- 24. 查詢不帶同步的Firebase數據庫angularfire2
- 25. 使用AngularFire2從Firebase中的多個鍵檢索值
- 26. Ionic和Firebase angularFire2 5.0.0 InvalidPipeArgument:管道'AsyncPipe'的'[object object]'
- 27. 檢查用戶名是否存在於數據庫中firebase angularfire2
- 28. AngularFire2 - 獲取由Firebase生成的節點UID?
- 29. 如何使用AngularFire2和Firebase加入兩個節點?
- 30. 使用angularfire2獲取Firebase數據庫中的時間
感謝您的回答。我一直在努力讓自己的腦袋圍繞rxJS - 但是我在更高級的用途中掙扎着一些「概念」,特別是當在服務中使用Observable時。 '的getUser(){ 返回this.getAuth()switchMap((AUTH)=> { 返回this.af.database.object( 「用戶/」 + auth.uid + 「/公共」); })。 ; } getAuth(){ return this.af.auth.map((auth)=> {return auth}); }' –
很難說出你想從評論中獲得什麼。發佈有關您的問題的其他問題。至於RxJS,是的,當你開始的時候它可能是壓倒性的。簡單來說,網上有很多資源 - 課程/教程等... – Sasxa