首頁 > web前端 > Vue.js > 主體

聊聊不使用Vuex怎麼封裝登入狀態判斷

青灯夜游
發布: 2022-02-17 19:32:58
轉載
2285 人瀏覽過

這篇文章帶大家了解一下不使用Vuex狀態管理,用簡單的封裝來進行登入狀態判斷的方法,希望對大家有幫助!

聊聊不使用Vuex怎麼封裝登入狀態判斷

在專案中一定會有使用者登入狀態的判斷,所以我們需要封裝判斷登入狀態,用來滿​​足整個專案的應用,當然剛好不使用封裝的話,會造成耦合度高,程式碼冗餘等結果,在專案中可能常常用到vuex狀態管理來進行登入狀態的存,那如果專案用不到狀態管理,那就可以使用簡單的封裝來進行登入狀態判斷。 【相關推薦:vue.js影片教學

登入狀態封裝

我們如果想要普通封裝登入狀態的話需要兩個函數即取得儲存的token的getToken和使用token判斷是否登入的isLogin,我們需要在src目錄下新建一個資料夾,或是在我們封裝要求的檔案目錄下新建一個auth.js即可。

getToken

取得token的話只需要透過使用localStorage取得token並傳回給函數值

export function getToken() {
  return localStorage.getItem("token");
}
登入後複製

# isLogin

判斷登入的話僅僅需要透過呼叫getToken獲得token的值來傳回布林值從而判斷使用者是否登入

export function isLogin() {
  if (getToken()) {
    return true;
  }
  return false;
}
登入後複製

除此之外,項目中還會有別的地方要使用到getToken,比如說在請求頭中需要轉入token的值等

使用方法

##我們在要使用的頁面中直接按需引入即可,比如說這裡我們只引進

isLogin

import { isLogin } from "@/request/auth";
登入後複製

在引入之後,有人就問了,我們判斷用

if else嗎,nonono,低了,隱藏分低了,來看我下面的操作

mounted() {
    // 登录判断,项目成功运行后启动
    isLogin()
      ? console.log("isLogin")
      : (console.log("Need to login"),
        this.$message.error('未登录'),
        this.$router.push("/login")
      );
  },
登入後複製

注意到這裡,我們的登入狀態判斷的觸發位置需要注意一下,一般是在

mounted的時候,也就是一般是在初始化頁面完成後的鉤子中進行登入狀態的判斷,這裡一般也是頁面取得資訊的請求函數的位置。

除此之外,我這裡的寫法是

?:,來進行函數觸發判斷的,正常來講可能很多人會使用if,對了,這裡的提示元件是element,大家可以根據自己元件庫的提示來進行不一樣的改變。

setToken

既然封裝了getToken,那肯定要再封裝個setToken,也是為了便捷一些

export function setToken(token) {
  return localStorage.setItem("token", token);
}
登入後複製
(學習影片分享:

web前端教學

以上是聊聊不使用Vuex怎麼封裝登入狀態判斷的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:juejin.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板