this.$store进行数据存储

本文讨论了在基于Vue应用中,如何利用Vuexstore存储登录接口返回的用户信息,以及在特定情况下不通过Vuex直接从接口获取数据并存储到localStorage的方法。

背景条件:在登录时获取登录接口返回的登录人信息,存储到本地 然后再在需要的时候拿取校验

由于接口登录方式为dispatch 所以用了Vuex store存储数据  而进行vuex则需要在user.js中定义

而如有接口获取不需要通过vuex存储的就更简单了直接从接口拿去之后setItem

### Vue.js 中 H5 使用 this.$store 存取数据的方法及示例 在 Vue.js 的开发中,`this.$store` 是用于访问 Vuex 状态管理库的实例。Vuex 是一个专门为 Vue.js 应用程序开发的状态管理模式,它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化[^1]。 以下是一个完整的示例,展示如何在 H5 环境中使用 `this.$store` 进行数据的存取: #### 1. 安装 Vuex 首先需要安装 Vuex: ```bash npm install vuex --save ``` #### 2. 创建 Vuex Store 创建一个名为 `store.js` 的文件,配置 Vuex 的状态管理: ```javascript import Vue from 'vue'; import Vuex from 'vuex'; Vue.use(Vuex); export default new Vuex.Store({ state: { user: null, // 示例状态:用户信息 }, mutations: { SET_USER(state, user) { state.user = user; // 修改状态中的用户信息 }, }, actions: { setUser({ commit }, user) { commit('SET_USER', user); // 触发 mutation 修改状态 }, }, getters: { getUser: (state) => state.user, // 获取状态中的用户信息 }, }); ``` #### 3. 在主应用中引入 Store 在主文件(如 `main.js`)中引入并使用 Vuex Store: ```javascript import Vue from 'vue'; import App from './App.vue'; import store from './store'; // 引入 store new Vue({ store, // 将 store 注入到 Vue 实例中 render: (h) => h(App), }).$mount('#app'); ``` #### 4. 在组件中使用 this.$storeVue 组件中可以通过 `this.$store` 访问 Vuex 的状态、方法和 getter: ##### 存储数据示例 通过 `this.$store.dispatch` 调用 action 来存储数据: ```javascript methods: { saveUser() { const userData = { name: 'John Doe', age: 30 }; // 示例用户数据 this.$store.dispatch('setUser', userData); // 调用 action 存储数据 }, } ``` ##### 获取数据示例 通过 `this.$store.getters` 获取存储的数据: ```javascript computed: { currentUser() { return this.$store.getters.getUser; // 获取用户数据 }, }, ``` #### 5. 完整代码示例 以下是一个完整的组件示例,展示如何存取数据: ```html <template> <div> <h1>User Information</h1> <p>Name: {{ currentUser.name }}</p> <p>Age: {{ currentUser.age }}</p> <button @click="saveUser">Save User</button> </div> </template> <script> export default { computed: { currentUser() { return this.$store.getters.getUser; // 获取用户数据 }, }, methods: { saveUser() { const userData = { name: 'John Doe', age: 30 }; // 示例用户数据 this.$store.dispatch('setUser', userData); // 调用 action 存储数据 }, }, }; </script> ``` ### 注意事项 - Vuex 的核心概念包括 `state`(状态)、`mutations`(同步更改状态的方法)、`actions`(异步操作触发 mutations)、`getters`(获取状态的计算属性)。确保理解这些概念以便正确使用[^1]。 - 如果需要持久化存储数据,可以结合 localStorage 或其他插件(如 vuex-persistedstate)实现[^5]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值