获取后端头像存储到localStorage在vuex中
时间: 2024-05-11 07:19:22 浏览: 171
你可以使用以下步骤来实现:
1. 在后端存储头像并返回存储路径。
2. 在前端将路径存储到 `localStorage` 中。
```
// 在后端将头像存储到指定路径
const avatarPath = '/path/to/avatar.png';
// ...
// 在前端将路径存储到 localStorage 中
localStorage.setItem('avatarPath', avatarPath);
```
3. 创建一个 `vuex` 模块来存储头像路径,并提供相应的 `mutation` 和 `action`。
```
// 在 vuex 模块中定义 state
const state = {
avatarPath: localStorage.getItem('avatarPath') || ''
};
// 创建 mutation 来更新 state 中的 avatarPath
const mutations = {
setAvatarPath(state, path) {
state.avatarPath = path;
localStorage.setItem('avatarPath', path);
}
};
// 创建 action 来调用 mutation
const actions = {
updateAvatarPath({ commit }, path) {
commit('setAvatarPath', path);
}
};
```
4. 在组件中使用 `mapState` 映射 `vuex` 中的 `avatarPath`,并使用 `mapActions` 映射 `vuex` 中的 `updateAvatarPath` 方法。
```
import { mapState, mapActions } from 'vuex';
export default {
computed: {
...mapState(['avatarPath'])
},
methods: {
...mapActions(['updateAvatarPath']),
onChangeAvatar(event) {
// 上传头像并获取路径
const path = '/path/to/avatar.png';
this.updateAvatarPath(path);
}
}
};
```
这样,上传头像后,`localStorage` 中的路径会被更新,并且 `vuex` 中的 `avatarPath` 也会被更新。组件中的头像也会随之更新。
阅读全文