亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在vue中,如何在外部js觸發vue組件的data修改?

在vue中,如何在外部js觸發vue組件的data修改?

FFIVE 2019-03-14 22:15:35
我把所有接口請求都封裝到了model/api.js下,在api.js里做axios請求,請求的返回里有一種錯誤碼是未登陸,我需要對這種情況的時候彈窗登錄。請問,這個彈窗我要怎么實現呢?如果彈窗是寫在main.vue里,那我需要在api.js里修改main.vue的data或者這個data是vuex的store,那我需要在api.js里修改store有什么好辦法或者例子嗎?,謝謝sf的大佬
查看完整描述

1 回答

?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

import store from '../store/store'

import axios from 'axios'

import {SET_TOAST_INFO, SET_LOADING_STATE} from '../store/type'




axios.interceptors.request.use(config => {

    return config

}, error => {

    store.commit(SET_TOAST_INFO, {

        mode: 'danger',

        title: '貌似網絡出錯了,麻煩您檢查下網絡是否良好再來試試吧!'

    });


    return Promise.reject(error)

})

// http響應攔截器

axios.interceptors.response.use(data => {

    return data.data;


}, error => {

    if (error.response) {

        store.commit(SET_LOADING_STATE,  false);

        switch (error.response.status) {

            case 401:

                store.commit(SET_TOAST_INFO, {

                    mode: 'danger',

                    title: '您還沒有登陸呢,馬上進行登陸吧'

                });

                window.location.href = '/#/login';

                break;

            default:

                store.commit(SET_TOAST_INFO, {

                    mode: 'danger',

                    title: '貌似網絡出錯了,麻煩您檢查下網絡是否良好再來試試吧!'

                });

                break;


        }

    }

})


查看完整回答
反對 回復 2019-03-26
  • 1 回答
  • 0 關注
  • 1579 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號