【问题标题】:vuejs integration with firebase gives "createUser is not a function" errorvuejs 与 firebase 集成给出“createUser 不是函数”错误
【发布时间】:2019-01-12 14:15:43
【问题描述】:

我是 Vue.js 的新手,我正在尝试在这个应用程序中将 Firebase 与 Vue.js 应用程序集成我有两个字段,我想将它们存储到 Firebase 的数据库中,但它给出了我的错误:-

<template>
 <div class="container">
  <div class= "row">
   <div class= "col-xs-12 co-sm-8 col-sm-offset-2 col-md-6 col-md-offset-3">
    <h1>Http</h1>
     <div class="form-group">
      <label>Username</label>
      <input type="text" class="form-control" v-model="username">
     </div>
     <div class="form-group">
      <label>Mail</label>
      <input type="text" class="form-control" v-model="email">
     </div>
     <button class="btn btn-primary" @click="submit">Submit</button>
    </div>
   </div>
 </div>
</template>

<script>
 import firebase from 'firebase'

 var config = {
  apiKey: "AIzaSyAQoOXm69M5WKRjRL_ee4wkh4Bbp7mSF3E",
  authDomain: "vuejs-http-11c9f.firebaseapp.com",
  databaseURL: "https://vuejs-http-11c9f.firebaseio.com",
  projectId: "vuejs-http-11c9f",
  storageBucket: "vuejs-http-11c9f.appspot.com",
  messagingSenderId: "messenger_id"
};

firebase.initializeApp(config);

export default {
data() {
return{
    username:'',
    email:''
  };

methods:{

 submit(){
  firebase.createUser(this.username, this.email)
   .then((result) => {
     console.log(result);
   }).catch((err) => {
     console.log(err)
   });
 }
}
}

单击提交按钮时我遇到的错误是

未捕获的类型错误:__WEBPACK_IMPORTED_MODULE_0_firebase___default.a.createUser 不是函数

我将如何解决这个错误?

【问题讨论】:

  • createUser 是 admin sdk 功能,请查看正确管理客户端用户的文档firebase.google.com/docs/auth/web/manage-users
  • @MaxSinev 查看我的完整代码并告诉我错误在哪里
  • 我不熟悉您尝试调用的 createUser 方法。你在哪里找到那个代码?要了解如何在 Firebase 中创建电子邮件+密码用户,请查看:firebase.google.com/docs/auth/web/…
  • 您说“我有两个字段,我想将它们存储到数据库中”。您只是想存储用户名和电子邮件字段还是想创建一个新的用户帐户?

标签: javascript firebase vue.js firebase-authentication


【解决方案1】:

我认为在您的提交方法中,您缺少.auth()。您的提交方法应如下所示:

firebase.auth().createUserWithEmailAndPassword(this.username, this.email)
 .then((result) => {
   console.log(result);
 }).catch((err) => {
  console.log(err)
});

}

检查:https://firebase.google.com/docs/auth/web/password-auth

【讨论】:

  • 我将输入的这些数据会存储在数据库中吗? @jamieRios
  • 是的,如果请求成功,您将在 Firebase 控制台的身份验证部分看到它。但除非您明确执行此操作,否则它不会保存在 Firestore 或实时数据库中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-04
  • 1970-01-01
  • 2020-09-20
相关资源
最近更新 更多