• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

解决vuex刷新状态初始化的方法实现

vue 搞代码 4年前 (2022-01-08) 17次浏览 已收录 0个评论

这篇文章主要介绍了解决vuex刷新状态初始化的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

vuex五种基本对象

  • state:存储状态(变量)
  • getters:对数据获取之前的再次编译,可以理解为state的计算属性。我们在组件中使用$sotre.getters.fun()
  • mutations:修改状态,并且是同步的。在组件中使用$store.commit(”,params)。这个和我们组件中的自定义事件类似。
  • actions:异步操作。在组件中使用是$store.dispath(”)
  • modules:store的子模块,为了开发大型项目,方便状态管理而使用的。这里我们就不解释了,用起来和上面的一样。
 npm install vuex -S // 安装vuex

src/store/index.js

 import Vue from 'vue' import Vuex from 'vuex' import temp from '@/store/modules/temp' Vue.use( Vuex ); // 挂载在vue const store = new Vuex.Store({ modules: { temp, }, state: { }, getters: { }, mutations: { }, }); export default store; // 抛出 

src/store/modules/temp.js

 const Storage = sessionStorage const tempInfo = { state: { // 设置全局访问的state对象 tempData: Storage['SET_TEMP_DATA'] ? JSON.parse(Storage['SET_TEMP_DATA']) : {}, // 设置初始化的值(Storage中是否存在,存在则获取,不存在则默认赋值{}) }, mutations: { // 自定义改变state初始值的方法,这里面的参数除了state之外还可以再传额外的参数(变量或对象); SET_TEMP_DATA(state, tempData) { state.tempData = tempData }, }, actions: { SetData({ commit }, tempData) { commit('SET_TEMP_DATA', tempData); // 同步操作 Storage.setItem('SET_TEMP_DATA', JSON.stringify(tempData)) } }, getters: { // 实时监听state值得变化(最新状态) tempData: (state) => { return state.tem<a>本文来源gao*daima.com搞@代#码&网6</a>pData } } } export default tempInfo; 

main.js

 import Vue from 'vue' import App from './App' import router from './router' import store from '@/store/index' //vuex 状态管理 Vue.config.productionTip = false /* eslint-disable no-new */ new Vue({ el: '#app', router, store, // 使用store components: { App }, template: '' }) 

src/index.vue

  <div class="move-forward"> <div>点击改变vuex值</div>

其他

当然还可以使用vuex-persistedstate、vuex-along等这些第三方插件。

 npm i -S vuex-persistedstate或npm i -S vuex-along 
 import Vue from 'vue' import Vuex from 'vuex' import temp from '@/store/modules/temp' import createPersistedSatte from 'vuex-persistedstate' // 引入 Vue.use( Vuex ); const store = new Vuex.Store({ modules: { temp, }, state: { }, getters: { }, mutations: { }, plugins: [createPersistedSatte()], // 挂载插件 }); export default store 

以上就是解决vuex刷新状态初始化的方法实现的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:解决vuex刷新状态初始化的方法实现

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址