代码之家  ›  专栏  ›  技术社区  ›  Bruno Francisco

如何在导出默认值内使用Toasted

  •  0
  • Bruno Francisco  · 技术社区  · 6 年前

    我想用这个包裹 Toasted 但我很难理解如何使用它。

    我有个包裹叫 TreatErrors.js 我调用这个包来处理来自我的应用程序的所有错误,这些错误是基于API返回的HTTP代码restfull API。

    治疗学

    import toasted from 'vue-toasted';
    export default {
      treatDefaultError(err){
        let statusCode = err.response.status;
        let data = err.response.data;
        for(let field in data.errors){
          if (data.errors.hasOwnProperty(field)) {
            data.errors[field].forEach(message => {
              toasted.show(message);
            })
          }
        }
    
        if(statusCode === 401){
          toastr.error('Your token has expired. Please logout and login again to retrieve a new token');
        }
    
        return null;
      },
    }
    

    我想打电话给你 Toasted 从这个包裹里,但我得到 vue_toasted__WEBPACK_IMPORTED_MODULE_2___default.a.show is not a function . 我知道怎么用这个吗 祝酒 在我自己定义的包中?

    1 回复  |  直到 6 年前
        1
  •  1
  •   tony19 thanksd    6 年前

    这个 vue-toasted 必须先向Vue注册插件:

    import Toasted from 'vue-toasted';
    Vue.use(Toasted); // <-- register plugin
    

    然后,您的模块可以通过 Vue.toasted.show(...) :

    // TreatErrors.js
    export default {
      treatDefaultError(err) {
        Vue.toasted.show(err.message);
      }
    }
    

    您的Vue组件也可以通过 this.$toasted.show(...) :

    // Foo.vue
    export default {
      methods: {
        showError(err) {
          this.$toasted.show(err.message);
        }
      }
    }