最后
四轮技术面+一轮hr面结束,学习到了不少,面试也是一个学习检测自己的过程,面试前大概复习了 一周的时间,把以前的代码看了一下,字节跳动比较注重算法,面试前刷了下leetcode和剑指offer, 也刷了些在牛客网上的面经。大概就说这些了,写代码去了~
祝大家都能收获大厂offer~
篇幅有限,仅展示部分内容
}
然后使用的时候调用: this.reload() 方法
#### **方法三 :**vuex清除token **(不会出现白屏,推荐使用)**
vuex清除token
由于项目中需要一个用户登出的功能,而数据放在Vuex中在登出没有刷新时数据并不会更新
所以找到了这样一个很不错的方法
将state以各种方式保存
注册时调用函数赋值
清空时再将保存的state赋值替换当前的state
over
**1. 首先默认state时要用新的方法注册
把数据写在函数的返回值中(其他方法也可以只要能调用)**
const getDefaultState = () => {
return {
token: getToken(),
name: ‘’,
avatar: ‘’,
permList:[]
}
}
**2. 给Vuex中的state赋值并注册**
const state = getDefaultState();
const store = new Vuex.Store({
modules: {
app,
settings,
state,
permissions
},
getters
})
**3. 在mutations中定义方法**
RESET_STATE: (state) => {
Object.assign(state, getDefaultState())
},
**4. 页面中使用**
commit('RESET_STATE');
**5. 全部完整代码如下:**
const getDefaultState = () => {
return {
token: getToken(),
name: ‘’,
avatar: ‘’
}
}
const state = getDefaultState()
const mutations = {
RESET_STATE: (state) => {
Object.assign(state, getDefaultState())
},
}
logout({ commit, state }) {
return new Promise((resolve, reject) => {
logout(state.token).then(() => {
removeToken() // must remove token first
resetRouter()
commit(‘RESET_STATE’)
resolve()
}).catch(error => {
reject(error)
})
})
最后
四轮技术面+一轮hr面结束,学习到了不少,面试也是一个学习检测自己的过程,面试前大概复习了 一周的时间,把以前的代码看了一下,字节跳动比较注重算法,面试前刷了下leetcode和剑指offer, 也刷了些在牛客网上的面经。大概就说这些了,写代码去了~
祝大家都能收获大厂offer~
篇幅有限,仅展示部分内容