未捕获的TypeError:无法读取未定义vue的属性'$ bvModal'

怪兽

我想this我的函数中的作用域不正确,当我尝试调用this.$bvModal.show("signinModal")以显示模态时出现此错误:

Uncaught TypeError: Cannot read property '$bvModal' of undefined

我知道$bvModal应该将其限制在组件范围内,并且我没有使用任何箭头功能,所以我看不到问题的出处,有什么办法可以解决我所缺少的问题?

<template>
  <div class="container">

    <b-modal id="signinModal" @hidden="signinUser($event)" :no-close-on-backdrop="true">
      <input id="email" v-model="email" placeholder="email">
      <input id="pass" v-model="password" placeholder="password">
    </b-modal>

    <form v-on:submit.prevent class="cube" v-if="modalShow == false">
       <div>
         <input id="title" v-model="title" placeholder="title">
       </div>

       <div>
         <textarea id="body" v-model="body" placeholder="body"></textarea>
       </div>

       <div>
         <b-button id ="postbtn" @click="addpost($event)" variant="outline-success">Publish</b-button>
       </div>    
    </form>
  </div>
</template>

<script>
const {fb,db} = require('../../fireconfig.js')

export default {
  name: 'AddPost',
  data:function(){   
    return{
        title: '',
        body: '',
        modalShow: true,
        email: '',
        password: ''
    }      
  },
  mounted(){
    this.$bvModal.show("signinModal")
  },

  methods:{
    signinUser:function(e){
      e.preventDefault()
      fb.auth()
        .signInWithEmailAndPassword(this.email, this.password)
        .catch(function(error) {
          // Handle Errors here.
          var errorCode = error.code;
          var errorMessage = error.message;

          if (errorCode === 'auth/wrong-password' || errorCode === 'auth/invalid-email') {
            alert('password or email incorrect',errorCode,errorMessage);
            this.$bvModal.show("signinModal") //---------------ERROR THROWN HERE

         } else {
            console.log('user successfully authenticated')
         }
      });
    },

    addpost(event){   
      event.preventDefault()
      try {
        let data = {
           title: this.title,
           body: this.body
        }

        db.collection('articles').doc(this.title).set(data)
        console.log('uploaded data to db')
      } catch(err) {
        console.log('there was an error',err)
      }
    },
  } 
}
</script>

汉斯·费利克斯·拉莫斯(Hans Felix Ramos)

使您的函数变为箭头函数catch,它将this与vue组件一起引用

signinUser:function(e){
    e.preventDefault()
   fb.auth().signInWithEmailAndPassword(this.email, this.password)
          .catch( error => {
              // Handle Errors here.
              var errorCode = error.code;
              var errorMessage = error.message;

        if (errorCode === 'auth/wrong-password' || errorCode === 'auth/invalid-email') {
              alert('password or email incorrect',errorCode,errorMessage);
              this.$bvModal.show("signinModal") //---------------ERROR THROWN HERE

            } else {
              console.log('user successfully authenticated')

            }
    });
  },

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

未捕获的TypeError:无法读取未定义的属性“ toLowerCase”

来自分类Dev

未捕获的TypeError:无法读取未定义的属性'substr'

来自分类Dev

未捕获的TypeError:无法读取未定义的属性'createRouteFromReactElement'

来自分类Dev

未捕获的TypeError:无法读取未定义的属性'ajax'

来自分类Dev

未捕获的TypeError:无法读取未定义的属性“调用”

来自分类Dev

未捕获的TypeError:无法读取未定义的属性'createDocumentFragment'

来自分类Dev

未捕获的TypeError:无法读取未定义的属性'addMethod'

来自分类Dev

未捕获的TypeError:无法读取未定义的属性“ draw”

来自分类常见问题

未捕获的TypeError:无法读取未定义的属性“ top”

来自分类Dev

未捕获的TypeError:无法读取未定义的属性“ parentNode”

来自分类Dev

未捕获的TypeError:无法读取未定义的属性'document'

来自分类Dev

未捕获的TypeError:无法读取未定义的属性“ getZoom”

来自分类Dev

未捕获的TypeError:无法读取未定义的属性'arrayToDataTable'

来自分类Dev

未捕获的TypeError:无法读取未定义的属性“登录”

来自分类Dev

未捕获的TypeError:无法读取未定义的属性'createRecord'

来自分类Dev

未捕获的TypeError:无法读取未定义的属性“ LayoutMode”

来自分类Dev

未捕获的TypeError:无法读取未定义的属性“ length”

来自分类Dev

未捕获的TypeError:无法读取未定义的属性“值”

来自分类Dev

未捕获的TypeError:无法读取未定义的属性'fn'

来自分类Dev

未捕获的TypeError:无法读取未定义的属性“消息”

来自分类Dev

未捕获的TypeError:无法读取未定义的属性'scrollHeight'

来自分类Dev

未捕获的TypeError:无法读取未定义的属性“ split”

来自分类Dev

“未捕获的TypeError:无法读取未定义的属性'people'”

来自分类Dev

未捕获的TypeError:无法读取未定义的属性'addClass'

来自分类Dev

未捕获的TypeError:无法读取未定义的属性“成功”

来自分类Dev

未捕获的TypeError:无法读取未定义的属性'substr'

来自分类Dev

未捕获的TypeError:无法读取未定义的属性'createElementNS'

来自分类Dev

未捕获的TypeError:无法读取未定义的属性'aDataSort'

来自分类Dev

未捕获的TypeError:无法读取未定义的属性'mData'

Related 相关文章

  1. 1

    未捕获的TypeError:无法读取未定义的属性“ toLowerCase”

  2. 2

    未捕获的TypeError:无法读取未定义的属性'substr'

  3. 3

    未捕获的TypeError:无法读取未定义的属性'createRouteFromReactElement'

  4. 4

    未捕获的TypeError:无法读取未定义的属性'ajax'

  5. 5

    未捕获的TypeError:无法读取未定义的属性“调用”

  6. 6

    未捕获的TypeError:无法读取未定义的属性'createDocumentFragment'

  7. 7

    未捕获的TypeError:无法读取未定义的属性'addMethod'

  8. 8

    未捕获的TypeError:无法读取未定义的属性“ draw”

  9. 9

    未捕获的TypeError:无法读取未定义的属性“ top”

  10. 10

    未捕获的TypeError:无法读取未定义的属性“ parentNode”

  11. 11

    未捕获的TypeError:无法读取未定义的属性'document'

  12. 12

    未捕获的TypeError:无法读取未定义的属性“ getZoom”

  13. 13

    未捕获的TypeError:无法读取未定义的属性'arrayToDataTable'

  14. 14

    未捕获的TypeError:无法读取未定义的属性“登录”

  15. 15

    未捕获的TypeError:无法读取未定义的属性'createRecord'

  16. 16

    未捕获的TypeError:无法读取未定义的属性“ LayoutMode”

  17. 17

    未捕获的TypeError:无法读取未定义的属性“ length”

  18. 18

    未捕获的TypeError:无法读取未定义的属性“值”

  19. 19

    未捕获的TypeError:无法读取未定义的属性'fn'

  20. 20

    未捕获的TypeError:无法读取未定义的属性“消息”

  21. 21

    未捕获的TypeError:无法读取未定义的属性'scrollHeight'

  22. 22

    未捕获的TypeError:无法读取未定义的属性“ split”

  23. 23

    “未捕获的TypeError:无法读取未定义的属性'people'”

  24. 24

    未捕获的TypeError:无法读取未定义的属性'addClass'

  25. 25

    未捕获的TypeError:无法读取未定义的属性“成功”

  26. 26

    未捕获的TypeError:无法读取未定义的属性'substr'

  27. 27

    未捕获的TypeError:无法读取未定义的属性'createElementNS'

  28. 28

    未捕获的TypeError:无法读取未定义的属性'aDataSort'

  29. 29

    未捕获的TypeError:无法读取未定义的属性'mData'

热门标签

归档