/
CATEGORY
Vue
/
在 JS 檔案引用 Vue3 的實體

在 JS 檔案引用 Vue3 的實體

MUKI AI Summary

在使用 axios 的攔截器處理 403 error 時,希望跳轉登入頁前先顯示對話框通知用戶。已在 Vue3 實體註冊對話框,並希望在 interceptors.js 使用。

修改 main.js 匯出 app,並在 interceptors.js 匯入 app 後,即可使用 main.js 中註冊的元件,顯示對話框通知用戶登入失效,並在確認後跳轉登入頁。...

情境敘述

最近用了 axios 的攔截器,統一在發出請求跟回應時做了處理,例如針對 403 error 時,需要跳回登入頁面:

case 403:
	window.location.href = '/login'
break

但我希望在跳回登入頁之前,可以跳出一個對話框告知使用者,告知跳轉的原因,以及接下來會發生的事。

我有在 Vue3 實體註冊了一個對話框,希望能在 interceptors.js 使用,這樣就不用另外寫啦 XD

流程

修改 main.js

等等要在 interceptors.js 直接引入 app 參數,所以要匯出 app

export const app = createApp(App)

匯入 app

import { app } from '@/main.js'

使用對話框

匯入 app 之後,就能使用我在 main.js 匯入的所有元件

app.config.globalProperties.$confirm.show({
  content: '您的登入已失效,請重新登入。(Identity is Invalid, Please Login Again.)',
  text: '確定',
  onSubmit: () => { window.location.href = '/login' }
})

歡迎給我點鼓勵,讓我知道你來過 :)

5
MUKI says:

如果文章有幫助到你,歡迎分享給更多人知道。文章內容皆為 MUKI 本人的原創文章,我會經常更新文章以及修正錯誤內容,因此轉載時建議保留原出處,避免出現版本不一致或已過時的資訊。

本文地址:https://muki.tw/access-vue-instance-inside-js-vue3/ 已複製

Subscribe
Notify of
guest

0 則留言
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Copyright © since 2008 MUKI space* / omegaSS theme All Rights Reserved.