TypeError:无法读取空Vuejs路由器的属性'$ emit'

时间:2019-10-28 09:38:46

标签: vue.js

我有这样的路由器

{
          path: 'user',
          redirect: '/user',
          name: 'user',
          component: {
            render(c) {
              return c('router-view', {
                on: {
                  showLoading: function (val) {
                    this.$emit('showLoading', val)
                  }
                }
              })
            }
          },

运行该路由器时出现错误

  

” [[Vue警告]:事件处理程序中“ showLoading”的错误:“ TypeError:   无法读取null的属性“ $ emit”

。 当我搜寻时,似乎无法在路由器内部使用this.$emit。我想发出事件'showLoading',可以吗?

1 个答案:

答案 0 :(得分:0)

尝试使用未定义自己的this的箭头功能。

showLoading: val => {
   this.$emit('showLoading', val)
}

Arrow function expressions