javascript - 未定义 Firebase

标签 javascript angularjs firebase firebase-authentication

我正在尝试编写有关 Angular 和 Firebase 的 Lynda.com 教程,但我遇到了麻烦。我在这个错误上找到了几页,但仍然无法弄清楚。正如在另一页上指出的那样,我尝试将 firebase.database().ref() 换成“new Firebase()”,但它给出了不同的错误。

请帮忙。 TIA!

索引.html:

<!DOCTYPE html>
<html ng-app="myApp">
<head>
    <title>Angular Registration</title>
    <link rel="stylesheet" type="text/css" href="css/style.css">

    <script type="text/javascript" src="js/angular.min.js"></script>
    <script type="text/javascript" src="js/angular-route.min.js"></script>
    <script type="text/javascript" src="js/angular-animate.min.js"></script>

    <script src="https://www.gstatic.com/firebasejs/3.1.0/firebase.js"></script>
    <script src="https://www.gstatic.com/firebasejs/3.1.0/firebase-app.js"></script>
    <script src="https://www.gstatic.com/firebasejs/3.1.0/firebase-auth.js"></script>
    <script src="https://www.gstatic.com/firebasejs/3.1.0/firebase-database.js"></script>

    <script>
      // Initialize Firebase
      var config = {
        apiKey: "AIzaSyCujdl_kIpR42CEqfgC2HxXFZEQjy-uBkY",
        authDomain: "angulartut-8f382.firebaseapp.com",
        databaseURL: "https://angulartut-8f382.firebaseio.com",
        storageBucket: "angulartut-8f382.appspot.com",
      };
      firebase.initializeApp(config);
    </script>

    <script src="js/angularfire.min.js"></script>

    <script type="text/javascript" src="js/lib/app.js"></script>
    <script type="text/javascript" src="js/controllers/registration.js"></script>
    <script type="text/javascript" src="js/controllers/success.js"></script>
</head>
<body>
<header>
    <nav class="cf" ng-include="'views/nav.html'"></nav>
</header>
<div class="page" ng-view>
    <main></main>
</div>

</body>
</html>

应用程序.js:

var myApp = angular.module('myApp', ['ngRoute', 'firebase']);

myApp.config(['$routeProvider', function($routeProvider) {
   ...
}]);

注册.js:

myApp.controller('RegistrationController', ['$scope','$firebaseAuth', function($scope, $firebaseAuth){
    // $scope.message = "Welcome to my App!";
    console.log($firebaseAuth);
    var ref = new Firebase('https://angulartut-8f382.firebaseio.com');

    // var ref = firebase.database().ref(); //<--tried this, but get error 'onAuth is not a function'
    var auth = $firebaseAuth(ref);

    $scope.login = function() {
        $scope.message = "Welcome " + $scope.user.email;

    };

    $scope.register = function() {
        auth.$createUser({
            email:$scope.user.email,
            password:$scope.user.password
        }).then(function(regUser) {
            $scope.message = "Welcome " + $scope.user.firstname + "thanks for registering!";
        }).catch(function(error) {
            $scope.message = error.message;
        });

    };
}]);

最佳答案

我找到了一个谷歌群组 https://groups.google.com/forum/#!forum/firebase-angular这让我进入了这个迁移页面 https://github.com/firebase/angularfire/blob/master/docs/migration/1XX-to-2XX.md

如您所见,配置已移动,ref 和 auth 行以及 auth.$createUser() 已更改。感谢您的关注!

这是 registration.js 的固定代码:

var config = {apiKey: "AIzaSyCujdl_kIpR42CEqfgC2HxXFZEQjy-uBkY",
            authDomain: "angulartut-8f382.firebaseapp.com",
            databaseURL: "https://angulartut-8f382.firebaseio.com",
            storageBucket: "angulartut-8f382.appspot.com",
          };
firebase.initializeApp(config);

myApp.controller('RegistrationController', ['$scope','$firebaseAuth', function($scope, $firebaseAuth){
    // $scope.message = "Welcome to my App!";


    var ref = firebase.database().ref();
    // console.dir(ref);
    auth = $firebaseAuth(firebase.auth());

    $scope.login = function() {
        $scope.message = "Welcome " + $scope.user.email;

    };

    $scope.register = function() {

        auth.$createUserWithEmailAndPassword($scope.user.email, $scope.user.password)
        .then(function(regUser) {
            $scope.message = "Welcome " + $scope.user.firstname + ", thanks for registering!";
        }).catch(function(error) {
            $scope.message = error.message;
        });

    };
}]);

关于javascript - 未定义 Firebase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38517324/

相关文章:

javascript - HTML5 模式与哈希模式 AngularJS 的优点/缺点

mysql - NULL 值保存在数据库中而不是用户提交的信息

ios - 我需要知道 firebase 观察何时完全完成

ios - 我无法收到数据通知 iOS swift 3

javascript - JQuery Animate 函数不改变左绝对位置

javascript - 引导模态 : dynamically load value in input field

javascript - PHP/Javascript 将消息传递到另一个页面

javascript - 使用filter()根据当前日期/时间过滤嵌套数组日期/时间: JavaScript

javascript - AngularJS 组件 - 带有 Typescript 的 ngModelController

javascript - 使用 Firebase 每天限制帖子?查询所有数据太慢?