【问题标题】:AngularFire - Firebase object undefinedAngularFire - Firebase 对象未定义
【发布时间】:2016-07-14 19:30:08
【问题描述】:

我正在尝试将 AngularJS Ionic 应用程序与 Firebase 一起设置。
我遵循了所有可用的指南,但仍然未定义 Firebase 对象。
这是我的 index.html:(在正文中)

<!-- build:js scripts/vendor.js -->
<!-- bower:js -->
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-animate/angular-animate.js"></script>
<script src="bower_components/angular-sanitize/angular-sanitize.js"></script>
<script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script>
<script src="bower_components/ionic/release/js/ionic.js"></script>
<script src="bower_components/ionic/release/js/ionic-angular.js"></script>
<script src="bower_components/ngCordova/dist/ng-cordova.js"></script>
<script src="bower_components/angular-dynamic-locale/src/tmhDynamicLocale.js"></script>
<script src="bower_components/angular-translate/angular-translate.js"></script>
<script src="bower_components/angular-translate-loader-static-files/angular-translate-loader-static-files.js"></script>
<script src="bower_components/localforage/dist/localforage.js"></script>
<script src="bower_components/ionic-platform-web-client/dist/ionic.io.bundle.min.js"></script>
<script src="bower_components/firebase/firebase.js"></script>
<script src="bower_components/angularfire/dist/angularfire.min.js"></script>
<!-- endbower -->
<script>
  firebase.initializeApp({
    apiKey: "...",
    authDomain: "....firebaseapp.com",
    databaseURL: "....firebaseio.com",
    storageBucket: "....appspot.com"
  });
</script>
<!-- endbuild -->

这是我的 app.js:

'use strict';
 angular.module('...', ['main', 'firebase'])
  .constant('FBURL', 'https://....firebaseio.com')
  .factory('Auth', function ($firebaseAuth, FBURL) {
       var ref = new Firebase(FBURL);
       return $firebaseAuth(ref);
 });

服务 - $firebaseAuth 已成功加载,但 new Firebase 行抛出 Firebase 未定义的异常。

谢谢!

【问题讨论】:

  • 您使用的是哪个版本的 Firebase?
  • Firebase - 3.2.0 AngularFire - 2.0.1
  • 我一周前刚遇到这个问题,我不确定我在哪里遇到这个问题,但是当我使用 var ref = firebase.database().ref();注意“firebase”的大小写。然后我将 ref 传递给 $firebaseArray 函数。至于 $firebaseAuth(),我只是得到它的引用并调用适当的身份验证函数。
  • 这似乎适用于 $firebaseArray,但它是已弃用的 api。它不适用于 $firebaseAuth,还有其他建议吗?
  • 在我的项目中,我没有将 ref 传递给 $firebaseAuth。我只是得到它的引用:var auth = $firebaseAuth(); 并调用适当的身份验证方法....就像这样:auth.$signInWithEmailAndPassword('myemail', mypassword).then(function(user){ console.log(user); });

标签: angularjs ionic-framework firebase angularfire


【解决方案1】:
'use strict';
 angular.module('...', ['main', 'firebase'])
  .constant('FBURL', 'https://....firebaseio.com')
  .factory('Auth', function ($firebaseAuth) {
       var ref = firebase.database().ref();
       return $firebaseAuth();
 });

https://github.com/firebase/angularfire/blob/master/docs/quickstart.md#7-add-authentication

【讨论】:

    猜你喜欢
    • 2015-05-07
    • 2014-10-16
    • 2014-12-23
    • 1970-01-01
    • 2017-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多