使用 vuex
vuex 关键代码
// ...
const store = new Vuex.Store({
state: {
login: false,
token: '',
avatarUrl: '',
userName: ''
},
mutations: {
login(state, provider) {
state.login = true;
state.token = provider.token;
state.userName = provider.userName;
state.avatarUrl = provider.avatarUrl;
},
logout(state) {
state.login = false;
state.token = '';
state.userName = '';
state.avatarUrl = '';
}
}
})
// ...
点击登录按钮之后,关键代码:
import { mapMutations } from 'vuex';
// ...
methods: {
bindLogin(e) {
this.login({
avatarUrl: 'https://img-cdn-qiniu.dcloud.net.cn/uploads/nav_menu/10.jpg',
token: 'user123456',
userName: 'vuex登录用户'
});
uni.navigateBack();
},
...mapMutations(['login'])
}
// ...
返回到个人中心页面,关键代码:
import { mapState } from 'vuex';
// ...
computed: {
...mapState(['avatarUrl', 'login', 'userName'])
}
// ...