這篇文章主要講解了“不使用Vuex如何封裝登錄狀態(tài)判斷”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“不使用Vuex如何封裝登錄狀態(tài)判斷”吧!
成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)頁設計、PC網(wǎng)站建設(電腦版網(wǎng)站建設)、wap網(wǎng)站建設(手機版網(wǎng)站建設)、響應式網(wǎng)站設計、程序開發(fā)、網(wǎng)站優(yōu)化、微網(wǎng)站、微信小程序等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設行業(yè)積累了豐富的網(wǎng)站設計制作、做網(wǎng)站、網(wǎng)站設計、網(wǎng)絡營銷經(jīng)驗,集策劃、開發(fā)、設計、營銷、管理等多方位專業(yè)化運作于一體。
在項目中肯定會有用戶登錄狀態(tài)的判斷,所以我們需要封裝判斷登錄狀態(tài),用來滿足整個項目的應用,當然剛不使用封裝的話,會造成耦合度高,代碼冗余等結(jié)果,在項目中可能常常用到vuex狀態(tài)管理來進行登錄狀態(tài)的存,那如果項目用不到狀態(tài)管理,那就可以使用簡單的封裝來進行登錄狀態(tài)判斷。
我們?nèi)绻胍胀ǚ庋b登錄狀態(tài)的話需要兩個函數(shù)即獲取存儲的token的getToken
和使用token判斷是否登錄的isLogin
,我們需要在src目錄下新建一個文件夾,又或者在我們封裝請求的文件目錄下新建一個auth.js
即可。
獲取token的話只需要通過使用localStorage
取得token并返回給函數(shù)值
export function getToken() { return localStorage.getItem("token"); }
判斷登錄的話僅僅需要通過調(diào)用getToken
獲得token的值來返回布爾值從而判斷用戶是否登錄
export function isLogin() { if (getToken()) { return true; } return false; }
除此之外,項目中還會有別的地方要使用到getToken,比如說在請求頭中需要轉(zhuǎn)入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") ); },
注意到這里,我們的登錄狀態(tài)判斷的觸發(fā)位置需要注意一下,一般是在mounted
的時候,即一般是在初始化頁面完成后的鉤子中進行登錄狀態(tài)的判斷,這里一般也是頁面獲取信息的請求函數(shù)的位置。
除此之外,我這里的寫法是?:
,來進行函數(shù)觸發(fā)判斷的,正常來講可能很多人會使用if
,對了,這里的提示組件是element,大家可以根據(jù)自己組件庫的提示來進行不一樣的改動。
既然封裝了getToken,那肯定要再封裝個setToken,也是為了便捷一些
export function setToken(token) { return localStorage.setItem("token", token); }
感謝各位的閱讀,以上就是“不使用Vuex如何封裝登錄狀態(tài)判斷”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對不使用Vuex如何封裝登錄狀態(tài)判斷這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
網(wǎng)頁名稱:不使用Vuex如何封裝登錄狀態(tài)判斷
文章位置:http://aaarwkj.com/article28/gihdcp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、微信小程序、網(wǎng)站改版、做網(wǎng)站、、電子商務
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)