最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vuex結(jié)合storage實現(xiàn)用戶信息本地存儲方式

 更新時間:2022年04月29日 14:51:43   作者:五顏六色的黑  
這篇文章主要介紹了Vuex結(jié)合storage實現(xiàn)用戶信息本地存儲方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

自己學(xué)習(xí)的過程中遇到用戶新的填寫的頁面,所以就想著頁面每次刷新之后總不能一直填寫,哇,累死,所以就想到了離線存儲機制,這里使用的是good-storage封裝庫結(jié)合Vuex來實現(xiàn)這個功能,在此做個筆記。

首先安裝插件庫good-storage

npm install good-storage

在你寫離線存儲邏輯部分的地方引入good-storage

盤它。吶~,吶~下面是我寫的用戶部分信息的存儲邏輯

import storage from "good-storage" ? ?//引入
const USER_DATAS="__userdatas__" ? ? ?//定義鍵值
?
//用戶信息存儲,這里傳入一個參數(shù)是個對象
export function saveUserData(obj){
?? ?let userDatas=storage.get(USER_DATAS,{}); ? //獲取存儲的值,若沒有,返回一個空對象
?? ?if(obj.phone){
?? ??? ?userDatas.phone=obj.phone;
?? ?}
?? ?if(obj.name){
?? ??? ?userDatas.name=obj.name;
?? ?}
?? ?if(obj.sex){
?? ??? ?userDatas.sex=obj.sex;
?? ?}
?? ?if(obj.education){
?? ??? ?userDatas.education=obj.education;
?? ?}
?? ?if(obj.industry){
?? ??? ?userDatas.industry=obj.industry;
?? ?}
?? ?storage.set(USER_DATAS,userDatas);
?? ?return userDatas;
}
?
//獲取用戶本地存儲的信息,如果沒有存儲過,返回一個空對象
export function loaduserDatas(){
?? ?return storage.get(USER_DATAS,{});
}

接下來是定義vuex的代碼部分

state.js如下

import {loaduserDatas} from "common/js/cache" ?//這里按照自己的路徑引入進去
const state={
?? ?user_datas:loaduserDatas() ? ? ? //獲取到用戶信息
}
export default state

getters.js 映射state中的數(shù)據(jù),方便在外部組建中引入數(shù)據(jù)

export const user_datas = state => state.user_datas;

mutation-types.js    

export const SET_USERDATA="SET_USERDATA"

mutaion.js提交修改之后的obj對象,即用戶信息

import * as types from "./mutation-types.js"
const mutations={
?? ?[types.SET_USERDATA](state,obj){
?? ??? ?state.user_datas=obj
?? ?}
}
export default mutations;

actions.js 因為有可能同時修改多個用戶信息內(nèi)容,所以這里選擇使用action進行異步操作,提交mutation

//同樣按照自己的目錄引入所需文件
?
import {saveUserData} from "common/js/cache"
import * as types from "./mutation-types.js"
export const saveUserDatas=function({commit},obj){
?? ?commit(types.SET_USERDATA,saveUserData(obj))
}

在外部組件中的操作如下

我的文件是datum.vue

datum.vue 

<script>
import {mapGetters,mapActions} from "vuex";
export default{
?? ? data() {
?? ? ? ?return {
?? ? ? ? ?dateStr:this.userName,
?? ? ? ? ?showDate:false,
?? ? ? ? ?nickName:"",
?? ? ? ? ?revise:false,
?? ? ? ? ?showNicknameMod:false,
?? ? ? ? ?userDatasObj:{
?? ? ? ? ??? ?name:"",
?? ? ? ? ??? ?phone:'18419954234',
?? ? ? ? ??? ?sex:'',
?? ? ? ? ??? ?education:'本科',
?? ? ? ? ??? ?industry:'互聯(lián)網(wǎng)電子商務(wù)'
?? ? ? ? ?}
?? ? ? ?}
?? ? ?},
?
?? ? ?computed:{
?? ? ??? ?selectedDate(){
?? ? ??? ??? ?return this.showDate ? this.dateStr : this.userName ;
?? ? ??? ?},
?? ? ??? ?_nickName(){
?? ? ??? ??? ?if(this.revise){
?? ? ??? ??? ??? ?return this.nickName;
?? ? ??? ??? ?}else{
?? ? ??? ??? ??? ?if( !this.user_datas.name){
?? ? ??? ??? ??? ??? ?return "請輸入昵稱"
?? ? ??? ??? ??? ?}?
?? ? ??? ??? ??? ?else{
?? ? ??? ??? ??? ??? ?return this.user_datas.name
?? ? ??? ??? ??? ?}
?? ? ??? ??? ?}
?? ? ??? ?},
?? ? ??? ?_sex(){
?? ? ??? ??? ?if(!this.user_datas.sex){
?? ? ??? ??? ??? ?return "請選擇"
?? ? ??? ??? ?}
?? ? ??? ??? ?return this.userDatasObj.sex=this.user_datas.sex;
?? ? ??? ?},
?? ? ??? ?_selectEdu(){
?? ? ??? ??? ?if(!this.user_datas.education){
?? ? ??? ??? ??? ?return "請選擇"
?? ? ??? ??? ?}
?? ? ??? ??? ?return this.userDatasObj.education=this.user_datas.education;
?? ? ??? ?},
?? ? ??? ?_industry(){
?? ? ??? ??? ?if(!this.user_datas.industry){
?? ? ??? ??? ??? ?return "請選擇"
?? ? ??? ??? ?}
?? ? ??? ??? ?return this.userDatasObj.industry=this.user_datas.industry;
?? ? ??? ?},
? ? ? ??
? ? ? ? //獲取到用戶原來的信息,并進行相應(yīng)的邏輯判斷,看自己的情況哈。以上是我個人的
?? ? ??? ?...mapGetters([
?? ? ??? ??? ?"user_datas"
?? ? ??? ?])
?? ? ?},
?? ??? ?methods:{
? ??? ??? ??? ?
? ? ?? ??? ?savedInfo(){
? ? ?? ??? ??? ?this.saveUserDatas(this.userDatasObj);
? ? ?? ??? ??? ?
? ? ?? ??? ?},
?
? ? ? ? ? ? //引入action中的提交信息操作,在保存信息的時候直接調(diào)用,傳入信息對象參數(shù)
?? ??? ? ??? ?...mapActions([
?? ??? ? ??? ??? ?"saveUserDatas"
?? ??? ? ??? ?])
?? ??? ?},
?? ?}
</script>

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue中node_modules中第三方模塊的修改使用詳解

    vue中node_modules中第三方模塊的修改使用詳解

    這篇文章主要介紹了vue中node_modules中第三方模塊的修改使用,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • Vue樹表格分頁的實現(xiàn)方法詳解

    Vue樹表格分頁的實現(xiàn)方法詳解

    這篇文章主要介紹了Vue樹表格分頁的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-10-10
  • vue3+element-plus props中的變量使用 v-model 報錯及解決方案

    vue3+element-plus props中的變量使用 v-model 報錯及解決方案

    這篇文章主要介紹了vue3+element-plus props中的變量使用 v-model 報錯及解決方案,prop 是單向數(shù)據(jù)流,這里只能用:model-value,不能用v-model,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2023-10-10
  • Vue2.X 通過AJAX動態(tài)更新數(shù)據(jù)

    Vue2.X 通過AJAX動態(tài)更新數(shù)據(jù)

    這篇文章主要介紹了Vue2.X 通過AJAX動態(tài)更新數(shù)據(jù)的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07
  • 在VUE3中禁止網(wǎng)頁返回到上一頁的方法

    在VUE3中禁止網(wǎng)頁返回到上一頁的方法

    這篇文章主要介紹了在VUE3中如何禁止網(wǎng)頁返回到上一頁,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • vue實現(xiàn)文字橫向無縫走馬燈組件效果的實例代碼

    vue實現(xiàn)文字橫向無縫走馬燈組件效果的實例代碼

    這篇文章主要介紹了vue 文字橫向無縫走馬燈組件的實現(xiàn)代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • element中Steps步驟條和Tabs標(biāo)簽頁關(guān)聯(lián)的解決

    element中Steps步驟條和Tabs標(biāo)簽頁關(guān)聯(lián)的解決

    這篇文章主要介紹了element中Steps步驟條和Tabs標(biāo)簽頁關(guān)聯(lián)的解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • vue使用swiper的時候第二輪事件不會觸發(fā)問題

    vue使用swiper的時候第二輪事件不會觸發(fā)問題

    這篇文章主要介紹了vue使用swiper的時候第二輪事件不會觸發(fā)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue watch 偵聽對象屬性詳解

    Vue watch 偵聽對象屬性詳解

    Vue的watch偵聽器格式有兩種:方法格式和對象格式的偵聽器,這篇文章主要介紹了Vue watch 偵聽對象屬性相關(guān)知識,需要的朋友可以參考下
    2023-04-04
  • vue3.0透傳屬性和事件的使用方式舉例

    vue3.0透傳屬性和事件的使用方式舉例

    這篇文章主要給大家介紹了關(guān)于vue3.0透傳屬性和事件使用的相關(guān)資料,透傳attribute指的是傳遞給一個組件,卻沒有被該組件聲明為props或emits的attribute或者v-on事件監(jiān)聽器,需要的朋友可以參考下
    2024-01-01

最新評論

克东县| 英吉沙县| 太仓市| 财经| 梨树县| 甘德县| 岳普湖县| 砚山县| 镇原县| 林州市| 太仆寺旗| 康马县| 全州县| 崇明县| 大英县| 林西县| 淮阳县| 宣恩县| 临猗县| 陆丰市| 仁怀市| 新昌县| 龙南县| 商丘市| 青岛市| 海南省| 鱼台县| 海丰县| 祁门县| 灌南县| 阜康市| 独山县| 蓬溪县| 当阳市| 滦南县| 陆川县| 乌兰浩特市| 遂昌县| 普安县| 吉林省| 仁化县|