- 首先打开src\store\modules\user.js ,
-
- 1. const user = {
- state: {
- ...
- niceName: '', //第一步就是添加这个niceName(用户昵称)
- ...
- },
-
- 2. mutations: {
- SET_NICKNAME: (state, nickName) => { //第二步就是添加设置用户昵称方法
- state.nickName = nickName
- },
- ...
- }
-
- 3. // 获取用户信息
- GetInfo({ commit, state }) {
- return new Promise((resolve, reject) => {
- getInfo().then(res => {
- ...
- commit('SET_NICKNAME', user.nickName) // 第三步就是在这设置用户昵称
-
- }).catch(error => {
- reject(error)
- })
- })
- },
-
- 以上3个步骤页面就可以在任何页面获取到用户昵称了 ,调用方式: let userName = this.$store.state.user.nickName ,
-
- 一般我会在.vue文件中这样定义,这样就页面就可以随意调用nickName
- export default {
- ...
- data() {
- return {
- nickName : this.$store.state.user.nickName,
- ...
- }
- }
- }
在Vue.js项目中,使用Vuex管理状态,我们可以将用户的信息存储在Vuex中,这样在任何组件中都可以方便地获取到用户的信息。下面是在`src\store\modules\user.js`中添加用户昵称的步骤:
- const user = {
- state: {
- // 其他状态...
- niceName: '', // 添加用户昵称
- // 其他状态...
- },
- // 其他代码...
- }
- mutations: {
- SET_NICKNAME: (state, nickName) => {
- state.niceName = nickName // 将传入的昵称设置给state中的niceName
- },
- // 其他方法...
- }
- actions: {
- GetInfo({ commit, state }) {
- return new Promise((resolve, reject) => {
- getInfo().then(res => {
- // 其他处理...
- commit('SET_NICKNAME', res.nickName) // 设置用户昵称
- // 其他处理...
- }).catch(error => {
- reject(error)
- })
- })
- },
- // 其他方法...
- }
这样,我们就在Vuex中存储了用户的昵称,可以在任何组件中使用`this.$store.state.user.niceName`获取。在`.vue`文件中,我们可以这样定义:
- <template>
- <div>
- <p>User name: {{ nickName }}p>
- div>
- template>
-
- <script>
- export default {
- data() {
- return {
- nickName: this.$store.state.user.niceName, // 从Vuex中获取用户昵称
- // 其他数据...
- }
- },
- // 其他代码...
- }
- script>
这样,在页面上就可以显示用户的昵称了。