日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

vuex封装

發布時間:2025/6/15 vue 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vuex封装 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

state.js :

const state = {name:"123",age:456 }; export default state

store.js: 在main.vue中加入

import Vue from 'vue' import Vuex from 'vuex' import STATE from './state.js' Vue.use(Vuex);const store = new Vuex.Store({state: STATE,mutations: {set (state, keysVal) {let tmp = statelet keysTemp = keysVal.keys.split('.')let keys = []if (keysTemp.length > 2) {for (let i = 0; i < keysTemp.length; i++) {if (i > 1) {keys[1] = keys[1] + '.' + keysTemp[i]} else {keys[i] = keysTemp[i]}}} else {keys = keysTemp}keys.map((key, idx) => {if (idx === keys.length - 1 || idx === 1) {tmp[key] = keysVal.val} else {tmp[key] = {}tmp = tmp[key]}})},clean (state) {for (let key in INIT_STATE) {state[key] = INIT_STATE[key]}}} })export default store

index.js : 需要使用狀態時引入

import store from './store'const env = process.env.NODE_ENVfunction _store (keys, val) {if (typeof val === 'undefined') {let keysTemp = keys.split('.')keys = []if (keysTemp.length > 2) {for (let i = 0; i < keysTemp.length; i++) {if (i > 1) {keys[1] = keys[1] + '.' + keysTemp[i]} else {keys[i] = keysTemp[i]}}} else {keys = keysTemp}return keys.reduce((v, k) => {if (v && v.hasOwnProperty(k)) {return v[k]} else {return null}}, store.state)} else {store.commit('set', {keys,val})} }function _storage (key, val) {let ciKey = 'vue_storage_' + envlet envData = _lstorage(ciKey)if (typeof val === 'undefined') {if (envData && envData[ciKey] && envData[ciKey][key]) {return envData[ciKey][key]} else {return null}} else {if (_storage(key)) {envData[ciKey][key] = val_lstorage(ciKey, envData)}if (!envData || typeof envData !== 'object') {envData = {}}if (!envData[ciKey]) {envData[ciKey] = {}}envData[ciKey][key] = val_lstorage(ciKey, envData)} }function _lstorage (key, val) {if (typeof val === 'undefined') {try {return JSON.parse(localStorage.getItem(key))} catch (e) {return null}} else {localStorage.setItem(key, JSON.stringify(val))} }function _ustorage (key, val) {let userData = _storage('user_data')const user = _storage('user')let uid = user ? user.user_id : nullif (!uid) {return null}if (typeof val === 'undefined') {if (userData && userData[uid] && userData[uid][key]) {return userData[uid][key]} else {return null}} else {if (_ustorage(key)) {userData[uid][key] = val_storage('user_data', userData)}if (!userData || typeof userData !== 'object') {userData = {}}if (!userData[uid]) {userData[uid] = {}}userData[uid][key] = val_storage('user_data', userData)} }function cleanUstorage () {_storage('user_data', {}) }function cleanStore () {store.commit('clean') }export default {store: _store,ustorage: _ustorage,storage: _storage,cleanUstorage,cleanStore }

使用方式

import store from '***/index.js'store.store(key); //獲取數據 store.store(key,value) // 保存數據 store.storage(key) // 從localstorage 獲取數據 store.storage(key,value) //保存數據到localStorage

轉載于:https://my.oschina.net/u/2528821/blog/1824972

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的vuex封装的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。