美文网首页大前端刷级之路
vue-i18n beforeDestroy不能调用this.$

vue-i18n beforeDestroy不能调用this.$

作者: 天驱丶 | 来源:发表于2019-01-09 18:03 被阅读0次

    提出[Bug Report]: https://jsfiddle.net/masongzhi/tpy4kv1e/8/

    因为vue-i18n在beforeDestroy中会注销this.$t,所以在beforeDestroy不能调用this.$t

    beforeDestroy (): void {
        if (!this._i18n) { return }
    
        if (this._subscribing) {
          this._i18n.unsubscribeDataChanging(this)
          delete this._subscribing
        }
    
        if (this._i18nWatcher) {
          this._i18nWatcher()
          delete this._i18nWatcher
        }
    
        if (this._localeWatcher) {
          this._localeWatcher()
          delete this._localeWatcher
        }
    
        this._i18n = null
      }
    

    可以将注销操作放在this.$nextTick中执行
    PR:https://github.com/kazupon/vue-i18n/pull/500
    注意:这个解决方案只能解决同步代码,如果在异步代码中还是会报错,具体解决方法是引入Vue注册的i18n,调用i18n.t替代this.$t

    相关文章

      网友评论

        本文标题:vue-i18n beforeDestroy不能调用this.$

        本文链接:https://www.haomeiwen.com/subject/nxdgrqtx.html