通知在vuex订阅中显示任何内容

时间:2018-04-16 22:37:50

标签: javascript vuejs2 vuex quasar-framework

当我尝试在pwa中创建用户时,我试图显示通知。要做到这一点,我订阅了设置通知的变异,然后调用了通知,但没有显示任何内容,并且控制台上没有错误。

这就是我想要做的事情:



export default {
  ...,
  mounted: function() {
    var self = this
    this.$store.subscribe(function(mutation, state) {
      if (mutation === 'usuario/setError') {
        self.$q.notify({
          message: state.usuario.error.mensagem,
          timeout: 3000,
          type: state.usuario.error.sucesso ? 'positive' : 'negative',
          position: 'top'
        })
      }
    })
  }
}




我尝试从qusar导入Notify并调用Notify.create但没有成功。

2 个答案:

答案 0 :(得分:0)

我找到了一个解决方案,而不是使用订阅我可以从vue使用watch并观察计算中的更改。这样:



export default {
 ...,
 computed: {
    error: function() {
      return this.$store.state.usuario.error
    }
  },
  watch: {
    error: function(newError, oldError) {
      console.log(newError)
      this.$q.notify({
        message: newError.mensagem,
        timeout: 3000,
        type: newError.sucesso ? 'positive' : 'negative',
        position: 'top'
      })
    }
  },
  ...
}




答案 1 :(得分:0)

尝试if (mutation.type === 'usuario/setError'),如果这不起作用,请通过控制台日志突变查看类型并使用它。