确认对话框中的vuejs $ emit无效

时间:2019-11-15 10:38:23

标签: vue.js vuejs2

我尝试从父页面获取子页面发送的请求,但未成功。

1。父代码

<do-more @onreloadtab="reloadTab" :selectFolder="selectFolder"></do-more>
methods: {
      reloadTab:function(){
            console.log('reload')
      }
}

2.child代码

methods: {
      async delete (row) {
        let that = this
        await this.$confirm("Are you sure to delete?", "confirm")
       .then((config) => {
             that.$emit('onreloadtab')
            return
         })
          .catch(() => {
          });
}

为什么父母不能得到发射信息?

2 个答案:

答案 0 :(得分:0)

使用then之后,您无需使用await方法。 then方法在Promises之后被调用,但是await返回Promise而不是Promise的值 inside 。因此,请尝试在emit语句之后没有await方法块的情况下调用then

答案 1 :(得分:0)

为了在父母中捕获事件,created()是您在父母中记录事件的方式

<template>
  <do-more :selectFolder="selectFolder"></do-more>
</template>

<script>
export default {
    data(){
        return{

        }
    },
    created() {
        reloadTab(event){
            console.log(event) 
        }
    }    
}
</script>