vue框架中,如何在api.js 文件内 使用toast

发布于 2022-09-11 16:35:02 字数 1724 浏览 24 评论 0

问题描述

  • ui框架用的 vux
  • main.js 引入 toast
    import {Toast ,ToastPlugin} from 'vux'
    Vue.use(ToastPlugin, {position: 'middle'})
  • api.js 使用toast
    import axios from 'axios';
    
    axios.interceptors.response.use(data=> {
        return data;
      }, err=> {
        // console.log(err.response);
          if(err.response !== undefined && err.response.status == 400){
              console.log(err.response);
            // Message.error({message: err.response.message});
                console.log(this);
            this.$vux.toast.show({
               text: 'hello billo...'
             })
            if(err.response.data.message === "授权过期,请重新登录!"){
                sessionStorage.removeItem('user');
                this.$router.push({ path: '/webchat' });
            }
          }
           return Promise.reject(err);
       })
  • 报错 this.$vux 的 toast is undefined
  • 文件结构
src
├── api
│   ├── api.js
│   └── index.js
├── main.js

问题出现的环境背景及自己尝试过哪些方法

  • 直接在 api.js 引入Toast模块
import {Toast} from 'vux'

提示module not find.

  • 报错截图

clipboard.png

clipboard.png

  • 其他组件内 import {Toast} from 'vux' 并console.log(Toast) 的结果如下:

clipboard.png

请教一下,如何处理,才能在 api.js 的 axios.interceptors.response.use 的匿名函数内正常的使用vux的Toast呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

坏尐絯℡ 2022-09-18 16:35:02

api.js中引入

import { Toast } from 'vux'

之后

Toast.show({
    text: 'hello billo...'
})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文