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

vuex?store?緩存存儲原理分析

 更新時間:2022年07月27日 16:57:38   作者:Osborn521  
這篇文章主要介紹了vuex?store?緩存存儲原理,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vuex store 緩存存儲原理

vuex 的設計是將數(shù)據(jù)存在一個對象樹的變量中,我們的應用(vue應用)從這個變量中取數(shù)據(jù),然后供應用使用,當將當前頁面關閉, vuex 中的變量會隨著消失,重新打開頁面的時候,需要重新生成。

而,瀏覽器緩存(cookie,localstorage等)是將數(shù)據(jù)存到瀏覽器的某個地方,關閉頁面,不會自動清空這些數(shù)據(jù),當再次打開這個頁面時,還是能取到之前存在瀏覽器上的數(shù)據(jù)(cookie,localstorage等)。

要使用 vuex 還是使用瀏覽器緩存,要看具體的業(yè)務場景。比如:像用戶校驗的 token 就可以存在 cookie 中,因為用戶再次登錄的時候能用到。而像用戶的權限數(shù)據(jù),這些是有一定安全性考慮,且不同用戶的權限不同,放在 vuex 中更合理,用戶退出時,自動銷毀。

其次,vuex 中的 state 是單向的,也可以異步操作,這兩個沒有沖突。

vuex 中的 state 的設計思路是保證數(shù)據(jù)的一致性和連續(xù)性,而讓 state 中的值只能通過 action 來發(fā)起 commit,進而改變 state 中的值。

而,action 中是 同步 還是 異步,都是單向地改變 state 中的值。 

如何使用store緩存數(shù)據(jù)

this.$store.commit('方法名',值)【存儲】
this.$store.state.方法名【取值】

我使用的是 vue-element-admin

1 src/store/index.js 寫方法

import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
Vue.use(Vuex)
const modulesFiles = require.context('./modules', true, /\.js$/)
const modules = modulesFiles.keys().reduce((modules, modulePath) => {
? const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
? const value = modulesFiles(modulePath)
? modules[moduleName] = value.default
? return modules
}, {})
const store = new Vuex.Store({
? modules,
? getters,
? state: { ? ? ? ? ? ? ? // SET_IMPORT 設置的這
? ? imports: []
? },
? mutations: {
? ? SET_IMPORT(state, routes) { ? ? ?// 設置 SET_IMPORT方法,方法中設置存儲某個值
? ? ? state.imports = routes
? ? }
? }
})
export default store

2 src/store/getter.js

const getters = {
? sidebar: state => state.app.sidebar,
? errorLogs: state => state.errorLog.logs,
? imports: state => state.imports ? ?// 存儲上面設置的 imports 字段
}
export default getters

3 使用 store 存取數(shù)據(jù)

const nullim = []
? ? var myMap = {}
? ? // 塞入鍵值對,當前上傳文件
? ? myMap['filename'] = rawFile.name
? ? myMap['result'] = 0
? ? nullim.push(myMap)
this.$store.commit('SET_IMPORT', nullim) ? ?// 存入緩存,調(diào)用 SET_IMPORT 方法
const old_imports = this.$store.getters.imports ? ? ? ?// 取緩存中數(shù)據(jù),通過字段名

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

相關文章

最新評論

蒲城县| 浮梁县| 瑞丽市| 霍州市| 清镇市| 德阳市| 常熟市| 罗田县| 安泽县| 桂东县| 明水县| 塘沽区| 宜春市| 那坡县| 丹寨县| 富川| 都兰县| 东丰县| 铁岭市| 河源市| 迁西县| 静乐县| 油尖旺区| 华池县| 潢川县| 丰城市| 小金县| 阳原县| 东港市| 溧水县| 伽师县| 秀山| 边坝县| 夏邑县| 肇州县| 北海市| 阳江市| 广州市| 吉林市| 蒙城县| 长宁区|