为什么会出现此错误 Uncaught (in promise) TypeError: Cannot read property 'created' of undefined in vue.js

时间:2021-05-04 08:29:52

标签: javascript vue.js vuejs2

  1. 这是我在 vue.js 中实现的代码
  2. 我正在尝试向 firebase 数据库添加一名新员工。
  3. 在我编写方法并初始化数据部分之前,代码一直在工作
  4. 当我尝试返回运行代码的步骤时,它仍然给出运行时错误
<template>
  

  <div class="container-fluid">
    <center><h1>New Employee</h1></center>
    <form @submit.prevent="adds" class="form">
      <label>Enter Name</label>
      <input type="text" class="form-control" v-modle="name">
      <label>Enter Employee ID</label>
      <input type="text" class="form-control" v-modle="emp_id">
      <label>Enter Department</label>
      <input type="text" class="form-control" v-modle="dep">
      <label>Enter Position</label>
      <input type="text" class="form-control" v-modle="position" >
      <router-link to="/" class="btn btn-danger btn-lg">Cancel</router-link>
      <button type="submit" class="btn btn-outline-success btn-lg">Submit</button>
    </form>

  </div>
  
</template>

<script>
import db from '../components/firebaseinit.js'
export default {
  name:"newEmployee",
  data(){
    return{
       name: null,
       emp_id: null,
       dep: null,
       position: null
    }
  },
  methods:{
    adds(){
        db.collection('employee').add({
          emp_id: parseInt(this.emp_id),
          name: this.name,
          dep: this.dep,
          position: this.position
        }).then(this.router.push("/")).catch(err => console.log(err))
    
    }
  }
}
</script>

1 个答案:

答案 0 :(得分:0)

  1. 我在第 42 行发现我的代码有问题
then(this.router.push("/")).catch(err => console.log(err))
  1. 调用路由器的正确方法是 $ 代码将被替换为
then(() => this.$router.push("/")).catch(err => console.log(err))